JQuery - 判断是否选择了多选框中的所有项目?

9
什么是最简单的方法来确定多项HTML选择框中是否选择了所有项目?
2个回答

19

您可以检查.length属性,以获取:not():selected选择器选中的<option>元素数量,例如:

var allSelected = $("#selectID option:not(:selected)").length == 0;

1
愚蠢的问题 - 你会如何编写一个通用函数,其中可以传递代表您选择框(在您的示例中为#selectID)的变量。即:var allSelected = func("#selbox"); - Marcus Leon
1
@Marcus - 你可以将字符串连接起来:$("#" + passedInID + " option:not(:selected)") - Nick Craver
1
太好了。:) 对于一行代码的技巧加1。 - Robin Maben
2
@Somu - 是的,或者等价于内部转换为:jqObj.find("option:not(:selected)").length - Nick Craver
复选框的哪个事件应该调用通用函数? - Zoran777
显示剩余3条评论

1

检查未选择的数字是否为零,且至少有一个选项

var all = $("select :not(:selected)").length == 0 && $("select options").length > 0;

“这些必须至少有一个存在”的要求是从哪里来的?如果没有,0仍然意味着检查了所有可能的选项。” - Nick Craver

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接