0

IDが。で始まるページに複数のチェックボックスがありますcheckrow
行のIDは、checkrow1checkrow2checkrow21など
です。これらの各チェックボックスにクリックイベント関数を割り当てたいと思います。
次のことを試しましたが、うまくいかないようです。これを行うためのjQueryコードとは何ですか?

$('input[id^="checkrow"]').click(function () {
    alert('1')
});

更新: 上記のコードは機能します。クリックイベントにハンドラーをアタッチしなかった理由は、上記のコードを実行したときにチェックボックスが存在しなかったためです。使用していたサードパーティのコントロールの「Databound」イベントでのみチェックボックスが作成された仮想化されたHTML5グリッドを使用していました。上記のコードを「Databound」イベントに入れると、正常に機能しました。

4

3 に答える 3

4

推測すると、これらの要素はDOMの準備ができた後に動的に作成されます。

use-onデリゲートイベント。

$('parentSelector').on('click', 'input[id^="checkrow"]', func);

そしてもちろん、コードがDOM対応のコールバック内にあることを確認してください。

于 2012-11-04T20:55:33.843 に答える
3

チェックボックスにクラスを使用してから、ドットでクラス名をターゲットにします。各チェックボックスには、属性「class='checkbox'」があります。

$('.checkbox').click(function(){
    alert('Check clicked.');
});
于 2012-11-04T20:55:08.130 に答える
1

別の解決策:id = checkrow *を選択した後、チェックボックスを見つけて、クリックイベントを追加します。

$('input[type=checkbox]').each(function() {
    if ( this.id.match(/^checkrow\d+/) ) {
        $(this).click(function() {
            // do what you want 
        });
    }
});
于 2012-11-04T21:34:50.723 に答える