2015-02-09 80 views
0

目前我正在從一個數據庫接收對象列表的網站上工作,並將它們列在彈出式表格中。我希望列表中的一列列出對象標識,另一列列出爲該特定對象調用函數的鏈接。我的問題是,我不知道如何在將這些數據附加到表中時執行此操作。如何通過html鏈接將特定對象傳遞給函數?

任何想法?

var tableContent ="<tr>"; 
      for(var i =0; i<results.length ; i++) 
      { 
       tableContent += "<td>" + results[i].get("id") + "</td>" 
       tableContent += "<td>" + "<a>Open ID Contents</a>" + "</td>" 
    //I want this link to pass results[i] to a function^ 
       } 
       tableContent += "</tr>" 
       $("#List").append(tableContent) 
+0

你能告訴我們你的數據庫數據和html嗎?用更多的上下文回答會更容易。 – Eclecticist 2015-02-09 01:33:17

回答

1

您可以構建你的a項目以這樣的方式

var $a = $('<a class="hasPopupData">...</a>'); 
$a.data('popup', { /*Your data goes here */ }); 
$a.appendTo($parent); 

,然後使用類似下面的代碼處理點擊:

$parentTable.on('click', 'a.hasPopupData', function(){ 
    var $a = $(this), 
     data = $a.data('popup'); 
    createPopup(data); 
    return false; 
}); 

注意的jQuery在重視數據DOM節點「原生「的演示文稿,而無需先將其轉換爲JSON。

1

有很多種方法。一個簡單的方法是將該變量作爲JSON傳遞。

var js = "afunction('" + JSON.stringify(results[i]) + "');return false;" 
tableContent += "<td>" + '<a onclick="' + js + '">Open ID Contents</a>' + "</td>" 
相關問題