如何在动态创建元素的内联onclick事件中传递对象

时间:2015-03-31 07:34:08

标签: javascript jquery html

我正在动态创建一个表行。每行都有onclick个事件。当我单击该表行时,我想将行对象传递给函数但我的问题是,在传递该对象时,我得到[object object]字符串。所以我无法在函数中使用该对象。

请事先提前解决。

这是我的代码:

  var row;
  $.each(mydata, function(i,data){
            row+='<tr onclick="myfunction(\''+data+'\')"><td >data.name</td><td >data.age</td></tr>;
    });
 $("#myTable").append(row);

3 个答案:

答案 0 :(得分:1)

我最好使用jQuery来定义click事件处理程序。这是您更新的代码:

var $table = $("#myTable");
$.each(mydata, function(i,row){
        $tr = $('<tr>').appendTo($table);
        $tr.on("click", myfunction);
});

答案 1 :(得分:1)

将数据对象转换为以下样式字符串。

"{\"name\": \"lenient\", \"age\": 18}" 

然后将其绑定到click事件,您将获得该对象作为click函数内的参数。

答案 2 :(得分:0)

尝试添加JSON.stringify()

onclick="myfunction("+JSON.stringify(data) +")"