これが正確にどのように起こったのかはわかりませんが、私の知識を高めるのを手伝ってください.
.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 の場合)。お返事ありがとうございます。