4

こんにちは私は、ユーザーではなく他のコードによってトリガーできるチェックボックスのイベントがあるかどうか疑問に思っていました...

例えば

http://jsfiddle.net/DC3EH/

[すべて選択]チェックボックスの場合、行の背景色を切り替えるために「選択された」クラスも自動的に切り替える必要があります。

「変更」と「クリック」を試しましたが、それはユーザーによってのみトリガーされます。

いくつかのコードをコメントアウトしました...ところで、特定のクラスのチェックボックスを切り替えるチェックボックスをたくさん入れたいので、「。closest('tr')。addClass('selected');」をたくさん持たないようにします。等

4

4 に答える 4

4

それは完全に動作するようです:

http://jsfiddle.net/DC3EH/20/

.change() を使用しました

于 2012-09-15T02:53:06.627 に答える
0

クリックイベントをトリガーしてみましたか?

.trigger("click") // for each checkbox

例: http: //jsfiddle.net/ELTRd/1/

于 2012-09-15T01:40:17.823 に答える
0

これが必要かどうかはわかり<tr>ませんが、「すべて選択」チェックボックスをオンにして、すべてを選択済みに変更する必要があると考えました。これを試してくださいhttp://jsfiddle.net/DC3EH/5/

于 2012-09-15T01:33:18.783 に答える
0

change イベントにバインドすると、jquery でクリック イベントをトリガーできます。これにより、チェックボックスがオンになり、次に change イベントが発生します。

$(document).ready(function(){
    $('#check_all').click(function(event) {
        $('[name^="checkbox"]').trigger("click");
    });   

    $('[name^="checkbox"]').change(function(event) {
        console.log('a');
        if ($(this).is(":checked")) {
             $(this).closest('tr').addClass('selected');
        }
        else {
             $(this).closest('tr').removeClass('selected');
        }
    });    
});​

更新されたフィドル: http://jsfiddle.net/DC3EH/19/

クリック イベントの代わりに変更イベントに切り替えた理由は、jquery がイベントのトリガーを処理する方法です。クリックをトリガーすると、チェックボックスの状態を変更する前にイベントハンドラーが呼び出されます。変更にバインドすると、状態が変更されるまでイベントが呼び出されなくなります。

于 2012-09-15T01:52:32.237 に答える