如何使用复选框数组的id检查复选框数组中的复选框是否选中?

我正在使用以下代码,但它总是返回选中复选框的计数,而不管id如何。

function isCheckedById(id) {
    alert(id);
    var checked = $("input[@id=" + id + "]:checked").length;
    alert(checked);

    if (checked == 0) {
        return false;
    } else {
        return true;
    }
}

当前回答

ID在文档中必须是唯一的,这意味着您不应该这样做:

<input type="checkbox" name="chk[]" id="chk[]" value="Apples" />
<input type="checkbox" name="chk[]" id="chk[]" value="Bananas" />

相反,删除ID,然后按名称或包含元素选择它们:

<fieldset id="checkArray">
    <input type="checkbox" name="chk[]" value="Apples" />

    <input type="checkbox" name="chk[]" value="Bananas" />
</fieldset>

现在jQuery:

var atLeastOneIsChecked = $('#checkArray:checkbox:checked').length > 0;
//there should be no space between identifier and selector

// or, without the container:

var atLeastOneIsChecked = $('input[name="chk[]"]:checked').length > 0;

其他回答

$(document).on('click','#checkBoxId',function(){
  var isChecked = $(this).is(':checked');
  console.log(isChecked);
});

上面的代码也适用于引导模式。isChecked为true或flase;

我知道OP想要jquery,但在我的情况下,纯JS是答案,所以如果像我这样的人在这里,没有jquery或者不想使用它,那么JS的答案是:

document.getElementById("myCheck").checked

如果ID为myCheck的输入被选中,则返回true;如果未选中,则为false。

就这么简单。

对于带有id的复选框

<input id="id_input_checkbox13" type="checkbox"></input>

你可以简单地

$("#id_input_checkbox13").prop('checked')

您将获得true或false作为上述语法的返回值。您可以在if子句中将其用作普通布尔表达式。

在我的示例中,情况是一个对话框,然后在关闭对话框之前验证复选框。以上都没有,如何检查jQuery中是否选中了复选框?如果选中复选框,jQuery似乎也不起作用。

最后

<input class="cb" id="rd" type="checkbox">
<input class="cb" id="fd" type="checkbox">

var fd=$('.cb#fd').is(':checked');
var rd= $('.cb#rd').is(':checked');

这是因为先调用类,然后调用ID,而不仅仅是ID。这可能是由于此页面上的嵌套DOM元素导致的问题。解决方法如上所述。

您可以尝试任何一种首选方式,如jQuery或JavaScript。

获取如下值并分配给变量,然后根据您的需求使用if-else语句。

var getVal=$('#checkbox_id').is(":checked"); // jQuery

var getVal=document.getElementById("checkbox_id").checked //JavaScript

if (getVal==true) {
 // perform task
} else {
 // perform task 
}