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

How to pass a specific object to a function through an html link?

本文关键字:对象 函数 何通过 html 链接      更新时间:2023-09-26

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

您可以通过以下方式构建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。

有多种方法。一个简单的方法是将变量作为JSON传递。

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