Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 计算jQuery中所选选项的数量?_Javascript_Jquery - Fatal编程技术网

Javascript 计算jQuery中所选选项的数量?

Javascript 计算jQuery中所选选项的数量?,javascript,jquery,Javascript,Jquery,我有多个类似名称的下拉列表,我想计算选择了选项的下拉列表的数量 比如说, <select class="custom_select" name="customSelect1" id="customSelect1"> <option value="0">0</option> <option value="1">1</option> <option value="2">2</option> &

我有多个类似名称的下拉列表,我想计算选择了选项的下拉列表的数量

比如说,

<select class="custom_select" name="customSelect1" id="customSelect1">
    <option value="0">0</option>
    <option value="1">1</option>
    <option value="2">2</option>
</select>

<select class="custom_select" name="customSelect2" id="customSelect2">
    <option value="0">0</option>
    <option value="1">1</option>
    <option value="2">2</option>
</select>

<select class="custom_select" name="customSelect3" id="customSelect3">
    <option value="0">0</option>
    <option value="1">1</option>
    <option value="2">2</option>
</select>

0
1.
2.
0
1.
2.
0
1.
2.

这里我只想计算选择值为1或2的下拉列表的数量。

如果您的
0
是禁用/默认值,您可以使用以下选项,但我建议您使用禁用的选定选项作为默认/开始选项:

函数onPressed(){
console.log($('.custom_选择选项[value!=“0”]:selected').length);
}

0
1.
2.
0
1.
2.

单击以显示所选选项
您只需检查所选选项的长度,值为0的选项除外,
$(“。自定义_select>选项:不([value='0']):所选”)。长度
console.log($(“.custom_select>选项:not([value='0']):selected”).length)
$(“.custom_select”).off(“change”).on(“change”,函数(){
console.log($(“.custom_select>选项:not([value='0']):selected”).length)
});

0
1.
2.
0
1.
2.
0
1.
2.

像这样的东西?此示例将使用所选值1或2进行下拉计数:

$('.custom_select')。更改(函数(){
var计数=0;
$.each($(“.custom\u select option:selected”),函数(){
if($(this.val()==1 | |$(this.val()==2){
++计数;
}
});
log('下拉计数='+计数);
});

0
1.
2.
0
1.
2.
0
1.
2.
您可以使用
过滤器()
获取selectedIndex大于0的所有select,并获取长度:

$('.custom_select')。更改(函数(){
var c=$('.custom_select')。过滤器((i,s)=>$(s)[0]。selectedIndex>0)。长度;
控制台日志(c);
});

0
1.
2.
0
1.
2.
0
1.
2.

默认情况下,第一个选项始终处于选中状态。因此,如果
0
是有效选项,请添加另一个
选项。
由于在所有select中都有一个公共类,请使用
文档。getElementsByClassName
并使用
筛选器
获取值不为空的
select

函数getSelected(){
//使用spread运算符将集合转换为数组
//使用数组筛选器方法创建一个新数组,并选择具有值的数组
让k=[…document.getElementsByClassName('custom_select')].过滤器(项=>{
返回item.value!==''
})
//这将给出其值为nit空的选择数
console.log(k.length)
}

挑选出来的
0
1.
2.
挑选出来的
1.
2.
挑选出来的
1.
2.
获取所选内容
$(“.custom_select”).change(函数(){
让selectedDropDownCount=0;
设x=document.queryselectoral(“.custom_select”);
x、 forEach(y=>{
if($(“#”+y.getAttribute(“id”).val()!=“0”)
{
selectedDropDownCount++;
}
}
)
警报(“计数:+selectedDropDownCount”);
});

0
1.
2.
0
1.
2.
0
1.
2.

这里是另一个版本,它使用的是一组匹配值的测试

$('.custom_select')。更改(函数()
{
变量匹配=$('.custom_select')。过滤器((i,e)=>
{
返回[“1”,“2”]。包括($(e).val());
});
控制台日志(匹配长度);
});

0
1.
2.
0
1.
2.
0
1.
2.

已尝试
$(“#customSelect1 option”)。length
?是的,这将返回下拉选项的总数,而不仅仅是所选选项。但所选选项是什么意思?如果以这种方式渲染它们,实际上它们都是以值为选择的0@quirimo,例如,在下拉列表1中,我选择了选项2,在下拉列表2中,我选择了选项1,并保持下拉列表3的原样,然后我想计算这3个选项中,除了默认值0之外,还有多少选项被选中。回答很好。:)谢谢,非常清晰的答案:)工作完美。最好在复制和粘贴之前阅读代码。。。代码正在运行。是的,在我写下第一个答案后,它发生了变化:)谢谢你提供了最短的答案,但我可以将其与结合起来吗。关于('change')?@DeepakSingh,是的,你可以简单地更改单击以更改….更新了答案….请检查。