首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaScript根据选择的下拉文本字符串获取二维数组的值

JavaScript根据选择的下拉文本字符串获取二维数组的值
EN

Stack Overflow用户
提问于 2013-01-16 01:24:49
回答 3查看 1.2K关注 0票数 0

到目前为止,我有以下几点:

代码语言:javascript
复制
<!DOCTYPE HTML>
<html>
  <head>
    <meta http-equiv="content-type" content="text/html" />
    <script src="http://code.jquery.com/jquery-latest.js"></script>
    <title>
      Select Value From Array
    </title>
  </head>
  <body>

    <script type="text/javascript">
        var KeysArray = { 
            "Lake":"imageabc.jpg",
            "House":"imagedef.jpg",
            "PC":"imageghi.jpg",
            "Sky":"imagejkl.jpg" 
        } 
        $(function(){
            $('.product').change( function() {
                var xkey = $.trim( $(".product option:selected").text() );
                // alert(xkey);
            }); 
        });
    </script>

    <div>

      <select class="product" title="">
        <option value="">
          -- Select --
        </option>
        <option value="123">
          Lake
        </option>
        <option value="456">
          House
        </option>
        <option value="789">
          PC
        </option>
        <option value="101">
          Sky
        </option>
      </select>

    </div>

  </body>
</html>

一旦我们从下拉列表中选择了一个值,我需要将它的选项文本值与现有的对应数组值进行比较。

因此,如果用户选择了"House“,我应该检查是否存在具有该名称的键,如果有,则需要获取它的数组值。因此,在“房子”示例中,它应该返回"imagedef.jpg“。

有人能帮帮忙吗?谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-01-16 01:29:21

我设法让它在 jsfiddle上为你工作。

您需要做的是在下面这一行的KeysArray对象中获得正确的键:

代码语言:javascript
复制
var xkey = KeysArray[ $.trim( $(".product option:selected").text() ) ];

或者,您可以通过两个步骤完成此操作,以提高可读性。

代码语言:javascript
复制
var xkey = $.trim( $(".product option:selected").text() );
xkey = KeysArray[xkey];

在继续操作之前,可能需要检查一下键是否实际存在。我建议在拿到xkey后再检查一下。

代码语言:javascript
复制
if (typeof xkey !== 'string') { xkey = 'Not found'; }
票数 1
EN

Stack Overflow用户

发布于 2013-01-16 01:28:48

代码语言:javascript
复制
$('.product').change( function() {
  var xkey = $.trim( $(".product option:selected").text() );
  alert(KeysArray[xkey]);
});
票数 1
EN

Stack Overflow用户

发布于 2013-01-16 01:28:35

尝试将此函数作为onchange回调函数体

代码语言:javascript
复制
var xkey = $.trim( $(".product option:selected").text() );
alert(KeysArray[xkey] || 'Not found');

我希望这能帮到你。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14343278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档