2

チェックボックスのリストがあります。各チェックボックスには.change(function(){alert('xyz')})。各チェックボックスにはクラスがありabcます。
「ALL」という追加のチェックボックスもあります。「すべて」チェックボックスを変更すると、他のすべてのチェックボックスの状態が変更されます。

'ALL'チェックボックスを変更すると.change(...)、他のすべてのチェックボックスの変更()がトリガーされます。ただし、他のチェックボックスの状態はプログラムで行われるため、それ自体では機能しません。
すべてのチェックボックスの変更イベントをトリガーするために使用しようとしまし$('.abc').change()たが、機能しませんでした。
私は何を間違っているのですか、そして手元のタスクをどのように達成できますか?
ところで、私がやれば$('#id_of_a_specific_checkbox').change()それはうまくいきます。


ありがとうございました。

私が持っているものの更新
例:http: //jsfiddle.net/ZqJvc/

それは私が大規模なプロジェクトで持っているものとほとんど同じです...そして短い例ではそれは機能します:/
しかし実際のプロジェクトではそれは機能しません。唯一の違いは、実際のプロジェクトにはたくさんのチェックボックスがあることです。奇妙な...デバッガに戻ったと思います。ありがとう。

更新
Chromeが完全にクラッシュした後...ブラウザを再起動すると、上記の例のように機能しました。時間を無駄にしてすみません。みんなありがとう。

4

1 に答える 1

2

ALLチェックボックスが変更されたときに.abcクラスのすべてのチェックボックスをtrueに設定するには、次を使用します。

$("input[name=ALL]").change( function( ) {

    $(".abc").prop("checked", $(this).prop("checked") );
    $(".abc").trigger("change");
});

ここでフィドル

于 2012-11-22T22:12:38.057 に答える