2013-06-18 44 views
1

我動態填充一箇中繼器的表,我想觸發一個ASP:超鏈接,當有一個點擊一行。asp:超鏈接觸發器與JQuery點擊

<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,這取決於行I首先計算id。 我試圖看看選擇器'$(lnkBut​​tonID)'是否正在工作 - 是的,似乎我正在獲取超鏈接,但由於某種原因,我無法重定向到超鏈接的NavigateUrl。

任何幫助表示讚賞。

+0

你的** **的href ATTR但仍然沒有觸發點擊事件 –

+0

可能重複[jquery點擊不起作用在超鏈接](http://stackoverflow.com/questions/2053598/jquery-click-doesnt-work-on-hyperlink) –

+0

我已添加'警報($(lnkBut​​tonID).attr(' href '屬性));'並且resilt是'undefined' –

回答

1

你可以簡單地做它用:

$('table').on('click', 'tr', function() { 
    $(this).find('a[id*="lnkDocPage_"]').trigger('click'); 
}); 

具有含lnkDocPage_,並點擊它嵌套在錶行的時候就可以觸發一個click事件的id表達id*="lnkDocPage_"匹配的元素。

如果你只是在每次tr元素中的單個錨標記:

$('table').on('click', 'tr', function() { 
    $(this).find('a').trigger('click'); 
}); 
0
<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"); 
     }); 
}); 
在你的代碼