一尘不染

检查jQuery是否选中了复选框

javascript

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

我正在使用以下代码,但无论ID为何,它始终返回已选中复选框的数量。

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

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

阅读 258

收藏
2020-04-25

共1个答案

一尘不染

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;
2020-04-25