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

标签 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>

最佳答案

当选择了多个选项时,val() 函数会返回一个数组,您不需要进行拆分。

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

关于javascript - 使用 jQuery,如何将 select 的选定值存储到数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/501363/

相关文章:

javascript - 无法访问状态对象(React useState Hook )

javascript - 如何调试什么是设置dom元素样式?

javascript - 从 Controller 传递数据时,Jquery Grid 绑定(bind)需要时间

javascript - 单击 Javascript 中的下一步按钮后,上一个 View 不会消失

javascript - jquery:多个 ajax 调用以不同的顺序响应,并且 document.body 导致对象丢失与 DOM 元素的链接

javascript - 如何重置 paper-dialog-scrollable 的滚动位置?

javascript - 我应该如何编写一个可能只运行一次或任意多次的方法,但我希望某些逻辑在调用该方法时只运行一次?

javascript - 删除评论时更新 UI。

javascript - 按从高到低对多个 int 变量进行排序

php - 如何将单个 php 变量返回给 ajax