1. ホーム
  2. jquery

[解決済み] チェックボックスのオン/オフの切り替え

2022-02-09 10:01:43

質問

次のようなものがあります。

$(document).ready(function()
{
    $("#select-all-teammembers").click(function() {
        $("input[name=recipients\\[\\]]").attr('checked', true);
    });                 
});

が欲しいところです。 id="select-all-teammembers" をクリックすると、チェック済みとチェックなしが切り替わります。何十行ものコードにならないようなアイデアはないでしょうか?

解決方法は?

書くことができます。

$(document).ready(function() {
    $("#select-all-teammembers").click(function() {
        var checkBoxes = $("input[name=recipients\\[\\]]");
        checkBoxes.prop("checked", !checkBoxes.prop("checked"));
    });                 
});

jQuery 1.6以前は、以下のようなものしかありませんでした。 attr() であって prop() と、以前は書いていました。

checkBoxes.attr("checked", !checkBoxes.attr("checked"));

しかし prop() の方が、より良いセマンティクスを持っています。 attr() をHTML属性に適用した場合、通常はこの方法が推奨されます。