目前我正在一个网站上工作,我从一个数据库中收到一个对象列表,我将它们列在一个弹出表中。我希望表中的一列列出对象id,另一列列出调用该特定对象的函数的链接。我的问题是,在将此数据附加到表格时,我不知道如何执行此操作。
有什么想法吗?
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 :(得分:1)
有多种方式。一种简单的方法是将变量作为JSON传递。
var js = "afunction('" + JSON.stringify(results[i]) + "');return false;"
tableContent += "<td>" + '<a onclick="' + js + '">Open ID Contents</a>' + "</td>"
答案 1 :(得分: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。