我知道如何选择是否选中了某个复选框。
但我遇到以下问题 - 给定一个表单ID我需要查看是否选中了任何复选框(即1个或更多),我需要查看 none 已被选中。基本上我需要两个独立的功能来回答这两个问题。帮助将不胜感激。谢谢!
实际上,我只需要一个函数来告诉我是否选择了 none 。知道这会回答另一个问题。
答案 0 :(得分:222)
你可以使用这样的东西
if ($("#formID input:checkbox:checked").length > 0)
{
// any one is checked
}
else
{
// none is checked
}
答案 1 :(得分:26)
JQuery .is
将测试所有指定的元素,如果其中至少有一个匹配选择器,则返回true:
if ($(":checkbox[name='choices']", form).is(":checked"))
{
// one or more checked
}
else
{
// nothing checked
}
答案 2 :(得分:7)
你可以这样做:
if ($('#form_id :checkbox:checked').length > 0){
// one or more checkboxes are checked
}
else{
// no checkboxes are checked
}
其中:
答案 3 :(得分:4)
不使用'长度'你可以这样做:
if ($('input[type=checkbox]').is(":checked")) {
//any one is checked
}
else {
//none is checked
}
答案 4 :(得分:3)
您可以在此处简单地返回.length
:
function areAnyChecked(formID) {
return !!$('#'+formID+' input[type=checkbox]:checked').length;
}
查看给定表单中的复选框,查看是否有:checked
并返回true
(如果它们是长度将为0)。为了使它更清晰,这里是非布尔转换版本:
function howManyAreChecked(formID) {
return $('#'+formID+' input[type=checkbox]:checked').length;
}
这将返回检查的数量。
答案 5 :(得分:3)
Rahul的回答最适合您的问题。无论如何,如果您要检查一组复选框而不是表单中的所有复选框,您可以选择它。
为要检查的所有复选框添加一个类名,例如,类名test_check
,现在您可以检查是否选中了属于该组的任何复选框:
$("#formID .test_check:checked").length > 0
如果它返回true
,则假设检查了一个或多个具有类名test_check
的复选框,如果返回false
则不选中。
希望它有所帮助。谢谢:) -
答案 6 :(得分:3)
这是我用来检查复选框列表中的任何复选框是否已更改的内容:
$('input[type="checkbox"]').change(function(){
var itemName = $('select option:selected').text();
//Do something.
});
答案 7 :(得分:1)
这是解决此问题的最佳方法。
if($("#checkbox").is(":checked")){
// Do something here /////
};