【问题标题】:Using jQuery, how can I store the selected values of a select into an array?使用 jQuery,如何将选择的选定值存储到数组中?
【发布时间】:2010-10-04 19:42:39
【问题描述】:

感谢您阅读本文。

我原以为它会像在 select .val() 上使用 .split 函数一样简单,但我得到了一个 js 错误。这是我正在使用的代码。我将使用 .each() 循环遍历选定的项目...但想了解我做错了什么...

如果我用文字设置 opts..拆分有效(注释代码)

谢谢

<html><head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>
<script type="text/JavaScript">
$(function(){
    $("#multOpts").bind("click", function() {
    //  var opts = "OPT1,OPT2,OPT3" ;
        var opts = $("#select1").val() ;
        $("#text1").val(opts);
    });
    $("#oneOpt").bind("click", function() {
        //  var opts = "OPT1,OPT2,OPT3" ;
        var opts = $("#select1").val() ;
        var optsArray = opts.split(",") ;
        $("#text2").val("1st opt: " + optsArray[0]);
    });
}); // End eventlistener
</script>
</head><body>
<select id="select1" multiple size="5">
<option value="OPT1">Option 1</option>
<option value="OPT2">Option 2</option>
<option value="OPT3">Option 3</option>
<option value="OPT4">Option 4</option>
<option value="OPT5">Option 5</option>
</select>
<div>
<input id="multOpts" type="button" value="Show Options"/>
<input id="text1" type="text"/>
</div>
<input id="oneOpt" type="button" value="One Option"/>
<input id="text2"  type="text"/>
</body></html>

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    选择多个选项时的 val() 函数返回您已经是一个数组,您不需要进行拆分。

        $("#oneOpt").bind("click", function() {
                var opts = $("#select1").val();
                $("#text2").val("1st opt: " + opts[0]);
        });
    

    【讨论】:

      【解决方案2】:

      从 jQuery 1.2 开始,.val() 返回的值数组是在多选时返回的。

      var opts = $("#select1").val() || [];
      $("#text2").val("values is: " +opts.join(", "));
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-15
        • 1970-01-01
        • 2013-07-31
        • 1970-01-01
        相关资源
        最近更新 更多