如何通过html链接将特定对象传递给函数?

时间:2015-02-09 01:30:35

标签: javascript jquery html html5

目前我正在一个网站上工作,我从一个数据库中收到一个对象列表,我将它们列在一个弹出表中。我希望表中的一列列出对象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) 

2 个答案:

答案 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。