2

ポストバックを減らすためにjQuery関数を追加している.aspxページ(vb.netバックエンド)があります。このページには、データにバインドされた約12のグリッドビューがあり、そうでない5つのテンプレートフィールドがあります(行ごとに1つのチェックボックスと4つのラジオボタン)。

私が達成しようとしているのは、テンプレート列への変更を処理するjquery機能です。jqueryは完全に機能していますが、使用しているグリッドビューが1つしかない場合に限ります。前に述べたように、ページには合計で最大12のグリッドビューがあり、すべて同じ形式であるため、同じように操作するにはjqueryが必要です。(1つのオプションは、私が持っているものを12回複製することです:(...)

これを12のうちの2つで機能させることができれば、私は設定されるだろうと思いましたが、それを理解することはできません。私はjqueryに非常に慣れていないので、これらや他のメッセージボードのおかげで私が働いています。何度も検索した結果、「。class」を使用することが私が達成したいことへの答えのようですが、期待どおりに機能していません。

私はhtmlと私が動作させようとしているjqueryを取得し、ここでjsFiddlerにロードしました

誰かが見て、私の「.class」が機能するように「アラート」を取得するのを手伝ってもらえますか?これを実行すれば、必要な残りのjqueryを処理できる可能性があると思います。

最初の2つは期待どおりに機能します。最後は、クラス'rbAllNA'の最初のアイテムに対してのみ機能します。

$(document).ready(function() {
$(rbAllNA1).live('click', function() {
    alert($(this).attr('class'));
});
$(rbAllNA2).live('click', function() {
    alert($(this).attr('class'));
});

$(".rbAllNA").live('click', function() {
    alert("call from class");
});
});

完全なシナリオについては、http://jsfiddle.net/jkmurphy1/68Mpy/1/を参照してください。

4

2 に答える 2

2

最初の入力要素にはクラス'rbAllNA'があり、ライブステートメントが機能します。2番目の文字は「rbAllNa」です(つまり、最後の文字として小文字のaを使用します)。大文字の「A」に変更すると、jsfiddleサンプルで機能します

于 2012-12-07T17:22:55.193 に答える
1

あなたのコードの問題は

最初ので-class="rbAllNA"

2番目の表- class="rbAllNa" <- a should have been uppercase

あなたのセレクターは$(".rbAllNA")

HTML属性では大文字と小文字が区別されます。したがって、後者は機能しません。

フィドルをチェック

.live()..の時点で非推奨になりました。代わりに1.7.0を使用してイベントを添付してください。.on()

于 2012-12-07T17:23:03.920 に答える