使用jQuery,如何将select的选定值存储到数组中?

Jay*_*ett 1 javascript jquery

感谢您阅读本文.

我原本以为它就像在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>
Run Code Online (Sandbox Code Playgroud)

CMS*_*CMS 6

当选择了多个选项时,val()函数会返回已经是数组,不需要进行拆分.

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