我不知道这到底是怎么发生的,但请帮助增加我的知识。
我在 .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();
});
Method,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)。感谢您的回复。