0

現在、誰かがボタンをクリックすると(ボタンのイベントを使用して)コードビハインドで関数を呼び出し、次のajaxを使用しています:

$('.toggleBtn').click(function(e) {
    $.ajax({
                        type: "POST",
                        url: "page.aspx/function",
                        data: "{'id': '" + id + "'}",
                        contentType: "application/json; charset=utf-8",
                        dataType: "json",
                        async: false,

                        success: function (msg) {

jquery で、現在のページのすべてのコントロール イベントにフックして、$.ajax を 1 つだけ実行することは可能ですか。

4 つのコントロール、2 つのテキストボックス、2 つのコンボボックスがあり、それに応じてデータベースを更新したいとします。上記を実行したい場合は、クリック イベントに 1 つずつフックし、コード ビハインドで別の関数を実行する必要がありますが、これは理想的ではありません。

つまり、ユーザーがコントロール値を選択/入力したら、オブジェクトにデータを入力したいと考えています。

それが理にかなっていることを願っています。

4

2 に答える 2

0

私はあなたがこの論理を使うことができると思います:

var request = 0; //global flag

$('.toggleBtn').click(function(e) {
    if (!request) {
      $.ajax({
         ..
         success: function(){
           request = 1; //update the flag
         }
      });
    }
});
于 2013-01-16T12:20:46.060 に答える
0

私があなたの質問を理解している場合、要素のグループのクリック イベントに対して同じコードを起動する方法を尋ねていますが、クリックされた要素の ID をデータのパラメーターとして渡したいと考えています。もしそうなら、これはクラスを持つすべての要素に対してそれを行いclassNameます...

$('.className').click(function(e) {
    $.ajax({
        type: "POST",
        url: "page.aspx/function",
        data: "{'id': '" + this.id + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        async: false,
        success: function (msg) {
            ...
            ...
        }
    });
});
于 2013-01-16T12:33:14.960 に答える