7

いくつかのチェックボックスと、少なくとも 1 つのチェックボックスがオンになっているかどうかを示すステータス ボックスがあります。

チェックボックスの切り替えで機能するすべて/なしのチェックボックスもありますが、各チェックボックスに割り当てられている変更イベントをトリガーしていないため、すべて/なしのチェックボックスを使用するとステータスは更新されません。

これが私の実装です:

http://jsfiddle.net/axl163/Fckvd/1/

4

2 に答える 2

15
function toggleChecked(status) {
    $(".chkbx").each( function() {
        $(this).prop("checked", status).change(); // you have to trigger the event
    });
}

デモ

于 2012-05-24T19:09:10.330 に答える
6

スクリプトによる入力要素への変更は、onchangeイベントをトリガーしません。

change()または、以下のように入力の変更を更新しながらトリガーすることもできます。

$(this).prop("checked", status).change();

完全なコード:

function toggleChecked(status) {
    $(".chkbx").each( function() {
        $(this).prop("checked", status).change();
    });
}

.propの代わりにも使用.attr

デモ

于 2012-05-24T19:09:32.617 に答える