我正在用中继器动态地填充表,并且我想在单击一行时触发asp:HyperLink。
<td id="hyperLink">
<asp:HyperLink ID="lnkDocPage_<%# Eval("ID")%>" ClientIDMode="Static" NavigateUrl="~/Pages/DocumentListPage.aspx?id=<%# Eval("ID")%>" Text="" runat="server">link</asp:HyperLink>
</td>这是包含超链接的td。
下面是脚本,不幸的是,它没有将用户重定向到DocumentListPage页面。
function bindRowClick() {
$('#productTable').find('tr').click(function () {
var id = $(this).find('th:first').text().replace(/\s+/g, " ");
id = ($.trim(id)).split(' ')[1];
var lnkButtonID = '#lnkDocPage_' + id;
alert($(lnkButtonID).attr('href'));
window.location = $(lnkButtonID).attr('href');
});
}由于每个超链接都有一个唯一的id,取决于行,我首先计算ID。我尝试查看选择器'$(lnkButtonID)‘是否正常工作-是的,似乎我正在获取超链接,但由于某种原因,我无法重定向到超链接的NavigateUrl。
任何帮助都是非常感谢的。
发布于 2013-06-18 19:17:47
您可以简单地使用以下命令来完成:
$('table').on('click', 'tr', function () {
$(this).find('a[id*="lnkDocPage_"]').trigger('click');
});表达式id*="lnkDocPage_"匹配具有包含lnkDocPage_的id的元素,并在它所嵌套的表行被单击时触发单击事件。
如果在每个tr元素中只有一个锚标记:
$('table').on('click', 'tr', function () {
$(this).find('a').trigger('click');
});发布于 2018-05-08 22:58:15
只需在卸载之前使用event,因为导航到不同的页面,所有功能都被禁用。
window.addEventListener("beforeunload",function (event) {event.preventDefault();//或显示进度条...
});
发布于 2013-06-18 19:18:36
<td id="hyperLink">
<asp:HyperLink ID="lnkDocPage_<%# Eval("ID")%>" ClientIDMode="Static" NavigateUrl="~/Pages/DocumentListPage.aspx?id=<%# Eval("ID")%>" Text="" runat="server">link</asp:HyperLink>
</td>以下是脚本
$(document).ready(function(){
$('#productTable').find('tr').click(function () {
$(this).find('a[id^="lnkDocPage_"]').trigger("click");
});
});https://stackoverflow.com/questions/17167350
复制相似问题