当用户点击表格行时,我使用jQuery选择其中一个单元格中的链接。从我的搜索来看,这是相当标准的。
$(document).ready(function () {
$('table.timecarddetail tr').click(function () {
var href = $(this).find("a").attr("href");
if (href) {
window.location = href;
}
});
});
注意:table.timecarddetail是表类。
嵌入式链接本质上是一个ajax调用,因此它不会完整回发,并且页面不会刷新。我的问题是事件触发一次,但后续点击被忽略。
技术细节:我正在使用VS2010,每个链接指向传入记录ID的相同过程。模式弹出扩展程序面板将填充该记录中的数据,然后与panel.show一起显示。
我在这里做错了什么?
答案 0 :(得分:0)
我在过去实现JQueryUI时遇到了同样的问题。脚本管理器在ajax回发后销毁了javascript。你可以通过将它包装在一个函数中并在ajax调用的开始和结束时调用它来解决这个问题
Jquery的
$(document).ready(function () {
setRows();
});
function setRows() {
$('table.timecarddetail tr').click(function () {
var href = $(this).find("a").attr("href");
if (href) {
window.location = href;
}
});
}
然后在您的页面中将此文件放在脚本管理器之后
<asp:ScriptManager runat="server">
</asp:ScriptManager>
<script type="text/javascript">
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_beginRequest(BeginRequestHandler);
prm.add_endRequest(EndRequestHandler);
function BeginRequestHandler(sender, args) {
setRows();
}
function EndRequestHandler(sender, args) {
setRows();
}
</script>
希望这有帮助。