JQuery 查看是否选中了复选框

我知道如何查看一个单独的复选框是否被选中。

但是我在以下方面遇到了麻烦-给定一个表单 id,我需要查看复选框的 任何是否被选中(即1或更多) ,并且我需要查看 没有是否被选中。基本上我需要两个独立的函数来回答这两个问题。我们会感激你的帮助。谢谢!

实际上,我只需要一个函数来告诉我是否选择了 没有。知道这一点就能回答另一个问题。

114895 次浏览

你可以这样做:

  if ($('#form_id :checkbox:checked').length > 0){
// one or more checkboxes are checked
}
else{
// no checkboxes are checked
}

地点:

你可以用这个

if ($("#formID input:checkbox:checked").length > 0)
{
// any one is checked
}
else
{
// none is checked
}

你可以在这里返回一个简单的 .length:

function areAnyChecked(formID) {
return !!$('#'+formID+' input[type=checkbox]:checked').length;
}

查找给定表单中的复选框,查看是否有 :checked复选框,如果有的话返回 true复选框(因为长度为0)。为了更清楚一点,下面是非布尔转换的版本:

function howManyAreChecked(formID) {
return $('#'+formID+' input[type=checkbox]:checked').length;
}

这将返回检查了多少次的计数。

JQuery .is将测试所有指定的元素,如果其中至少有一个匹配选择器,则返回 true:

if ($(":checkbox[name='choices']", form).is(":checked"))
{
// one or more checked
}
else
{
// nothing checked
}

Rahul 的回答最适合你的问题。无论如何,如果您有一组复选框要选中,而不是所有的复选框在您的表单中,您可以去。

为你想要选中的所有复选框输入一个类名,例如,一个类名 test_check,现在你可以通过以下方法检查是否有任何复选框属于该组:

$("#formID .test_check:checked").length > 0

如果返回 true,假设选中了一个或多个复选框,其中包含类名 test_check,如果返回 false,则不选中任何复选框。

希望对某些人有所帮助。谢谢:)-

这是我用来检查复选框列表中的任何复选框是否发生了变化的方法:

$('input[type="checkbox"]').change(function(){


var itemName = $('select option:selected').text();


//Do something.


});

不使用“ length”你可以这样做:

if ($('input[type=checkbox]').is(":checked")) {
//any one is checked
}
else {
//none is checked
}

这是解决这个问题的最好办法。

  if($("#checkbox").is(":checked")){


// Do something here /////


};