2017-04-17 69 views
0

我想添加一個動作鏈接到我的jQuery表,所以我可以導航到另一個頁面。這是我試過的如何添加一個動作鏈接到jQuery表?

var $row = $("<tr>", { class: "info" }).prop('id', id); 
           $row.append($("<td>").html(item.name)); 
           $row.append($("<td>").html(item.code)); 
           $row.append($("<td>").html(item.shortName)); 
           $row.append($("<td>").html(item.squadMarketValue)); 
           $row.append($("<td>").html(item.crestURL)); 
           $row.append($("<td>").html(id)); 
           $row.append($('<td><a href="/Leagues/Edit/"' + id + '"></a></td>')); 
           $row.appendTo($('#teamsTable')); 

一個小細胞出現,但點擊它什麼都不做。

+0

看起來像別的東西停下來發生的事件。 –

+0

id的價值是什麼?您是否在控制檯中看到任何錯誤? –

+1

沒有什麼可以點擊的,因爲錨點中沒有任何東西。 – epascarello

回答

0

<a>標籤內沒有什麼內容可以點擊。該點擊完全不會激活標籤,因爲標籤甚至不會在視圖中顯示。你需要有東西來顯示<a>標籤。所以添加一些東西讓它顯示在DOM中。

$row.append($('<td><a href="/Leagues/Edit/"' + id + '">Edit</a></td>')); 
// ----------------------------------------------------^^^^ 

Credits:epascarellocomment

0

您可以對動態內容使用jQuery on事件處理程序。
例如:

var item = { 
 
    name: "Lala Land", 
 
    code: "123", 
 
    shortName: "land", 
 
    squadMarketValue : "Lala", 
 
    crestURL : "google.com" 
 
} 
 

 
var id='table-row'; 
 

 
var $row = $("<tr>", { 
 
    class: "info" 
 
}).prop('id', id); 
 

 
$row.append($("<td>").html(item.name)); 
 
$row.append($("<td>").html(item.code)); 
 
$row.append($("<td>").html(item.shortName)); 
 
$row.append($("<td>").html(item.squadMarketValue)); 
 
$row.append($("<td>").html(item.crestURL)); 
 
$row.append($("<td>").html(id)); 
 
$row.append($('<td><a href="/Leagues/Edit/' + id + '">Click me</a></td>')); 
 
$row.appendTo($('#teamsTable')); 
 

 
$('#'+id).on('click' , 'a', function(e){ 
 
    e.preventDefault(); 
 
    console.log('clicked'); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> 
 
<table id='teamsTable'> 
 
    <tr class="info"></tr> 
 
</table>