13

我有一个多选列表,其中有 5 个以上的选项,我想计算用户选择的选项的选择数量。

如何使用java脚本来做到这一点?

我尝试了以下方法,但对我不起作用:

var x = document.getElementById("preference").count;

提前致谢。

4

6 回答 6

27

假设foo是选择的 id。

如果您使用普通的 javasript:

var options = document.getElementById('foo').options, count = 0;
for (var i=0; i < options.length; i++) {
  if (options[i].selected) count++;
}

如果你使用 jQuery:

var count = $('#foo option:selected').length;
于 2012-09-23T04:50:54.207 回答
2

您可以尝试这个来获取多个选择框用户选择的选项计数及其选择的名称。试试这个链接http://jsfiddle.net/N6YK8/8/

function getCount(){
             var comboBoxes = document.querySelectorAll("select");
             var selected = [];
             for(var i=0,len=comboBoxes.length;i<len;i++){
                    var combo = comboBoxes[i];
                    var options = combo.children;
                    for(var j=0,length=options.length;j<length;j++){
                         var option = options[j];
                         if(option.selected){
                           selected.push(option.text);
                         }
                    }
             }
            alert("Selected Options '" + selected + "' Total Count "+ selected.length);
         }  
于 2012-09-23T04:56:36.227 回答
2

这为我做到了。 var x = document.querySelector("#preference").selectedOptions.length;

于 2020-06-10T12:33:50.043 回答
1

使用:selected选择器,如下所示:

$('#example option:selected').length;
于 2012-09-23T04:52:12.583 回答
0

如果 < IE8 不是问题,你可以做一个单行喜欢document.querySelectorAll("option:checked")得到所有选定的选项。

于 2012-09-23T06:43:58.960 回答
-1
function SelectPage(elem)
{
    alert(elem);
}
<select id="page" name="section" onChange="SelectPage(this);" id="num">
    <option value="">Select Section</option>
    <option value="1">Page-1</option>
    <option value="2">Page-2</option>
    <option value="3">Page-3</option>
    <option value="4">Page-4</option>
    <option value="5">Page-5</option>
</select>
于 2015-06-24T07:54:02.510 回答