1. ホーム
  2. ジャバスクリプト

[解決済み】チェックボックスがチェックされているかどうかをjQueryで確認する。

2022-03-23 21:01:53

質問

チェックボックス配列の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;