1. ホーム
  2. jquery

[解決済み] jQueryとチェックボックスと.is(":checked")

2022-03-05 12:25:33

質問

checkbox要素に関数をバインドすると、以下のようになります。

$("#myCheckbox").click( function() {
    alert($(this).is(":checked"));
});

チェックボックスのchecked属性が変更される 以前 が発生した場合、これは通常の動作であり、逆の結果をもたらします。

ところが、そうすると

$("#myCheckbox").click();

チェックボックスはchecked属性を変更します。 の後に が発生すると、イベントが発生します。

質問ですが、通常のクリックのように、jQueryからクリックイベントをトリガーする方法はありますか(最初のシナリオ)?

追記:すでに trigger('click') ;

解決方法は?

$('#myCheckbox').change(function () {
    if ($(this).prop("checked")) {
        // checked
        return;
    }
    // not checked
});

注:旧バージョンのjqueryでは attr . 現在では prop を使用して状態を読み取ります。