我知道如何查看一个单独的复选框是否被选中。
但是我在以下方面遇到了麻烦-给定一个表单 id,我需要查看复选框的 任何是否被选中(即1或更多) ,并且我需要查看 没有是否被选中。基本上我需要两个独立的函数来回答这两个问题。我们会感激你的帮助。谢谢!
实际上,我只需要一个函数来告诉我是否选择了 没有。知道这一点就能回答另一个问题。
你可以这样做:
if ($('#form_id :checkbox:checked').length > 0){ // one or more checkboxes are checked } else{ // no checkboxes are checked }
地点:
:checked
length
你可以用这个
if ($("#formID input:checkbox:checked").length > 0) { // any one is checked } else { // none is checked }
你可以在这里返回一个简单的 .length:
.length
function areAnyChecked(formID) { return !!$('#'+formID+' input[type=checkbox]:checked').length; }
查找给定表单中的复选框,查看是否有 :checked复选框,如果有的话返回 true复选框(因为长度为0)。为了更清楚一点,下面是非布尔转换的版本:
true
function howManyAreChecked(formID) { return $('#'+formID+' input[type=checkbox]:checked').length; }
这将返回检查了多少次的计数。
JQuery .is将测试所有指定的元素,如果其中至少有一个匹配选择器,则返回 true:
.is
if ($(":checkbox[name='choices']", form).is(":checked")) { // one or more checked } else { // nothing checked }
Rahul 的回答最适合你的问题。无论如何,如果您有一组复选框要选中,而不是所有的复选框在您的表单中,您可以去。
为你想要选中的所有复选框输入一个类名,例如,一个类名 test_check,现在你可以通过以下方法检查是否有任何复选框属于该组:
test_check
$("#formID .test_check:checked").length > 0
如果返回 true,假设选中了一个或多个复选框,其中包含类名 test_check,如果返回 false,则不选中任何复选框。
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 ///// };