3

これが正確にどのように起こったのかはわかりませんが、私の知識を高めるのを手伝ってください.

.ascx に asp ボタンがあります。

<asp:Button ID="btnConfirm" runat="server" Text="Purchase" 
            OnClick="btnConfirm_Click" />.

クライアントがこのボタンをクリックした後に実行する jQuery コードが必要です。そして
、ボタンの clientId を .js ファイルに送信するようにコーディングしました。

<script type="text/javascript">
    $(this).ShopItem({           
        confirmBtnClientID: '<%=btnConfirm.ClientID %>'            
    });
});       

.js ファイルでは、このボタンの clientId に「p.confirmBtnClientID」として完全にアクセスできます。

$("#" + p.confirmBtnClientID).live('click', function () {
                ItemControl.ItemPurchase();
            });

メソッド、ItemPurchase は Webservice でメソッドを呼び出し、void を返します。

protected void btnConfirm_Click(object sender, EventArgs e)
{
 //does stuffs and
 //calls a different method in the same .js file 
} 

そして今、私の質問は次のとおりです(ブラウザとしてFirefoxを使用しています):
1.デバッガのコンソールで、Webサービスリクエストが突然消えましたが、表示する必要があります。どうすればよいですか?
2. id="tblCart" のテーブルがあり、それを非表示にしてメソッドを含まないようにしました

     $('#tblCart tr:not(:first)').each(function (index, value) {
                    var $me = $(this);
                    itemID += ($me.attr('id')) + ',';
                    if ($me.find('.itemQty').length > 0) {
                        itemQty += ($me.find('.itemQty').val()) + ',';
                    }
                });
});

しかし、.js ファイルでグローバル変数を宣言する別のメソッドのみが呼び出されます。ボタンのクリック後に $me.attr('id') が定義されていないという問題があります。

jQuery グローバル変数について混乱させて申し訳ありません (質問 2 の場合)。お返事ありがとうございます。

4

1 に答える 1

1

1) Firebug を使用している場合の最初の部分では、すべての XHR リクエストの「ネット」タブを表示し、リダイレクトまたは投稿後もそれらを保持する必要があるかどうかを確認できます。左側の「持続」ボタンを選択します。2) 理想的には、要素が削除されていない場合に備えて、id が非表示であっても、id が来るはずです。

于 2013-07-18T08:53:45.467 に答える