如何从已注册的事件发送JavaScript对象?

时间:2015-04-04 13:01:58

标签: javascript jquery html javascript-objects

我在将已注册事件中的对象发送到JavaScript函数时遇到问题。这是关于更改代码的复选框; test()函数figure中的object

$('#tblEntity').append('<tr><td><input type="checkbox" 
                checked="checked" 
                onchange=test("' + figure + '","' + id + '")
                /></td><td>' + Column.figure.text + '</td></tr>');

这是test函数:

function test(that, id) {
    alert(id+" "+that);
}

当我在IDE的运行时视图中看到注册的函数时,它没有正确形成:

function onchange(event){
    test([object
}

1 个答案:

答案 0 :(得分:2)

您可以在此处查看我的示例:http://jsfiddle.net/j608x6g7/

您正在将对象转换为字符串。因此,对象的字符串版本是:&#34; [对象对象]&#34;。你应该传递一个包含你的对象和你的id的回调函数。

// This is what you will put into the onChange
// event. It wraps 'figure' and 'id'. It's
// a function callback !
var callbackTest = function(){
     test(figure, id);   
}

// Your input checkbox
// Declared in jQuery but this is
// optional
var input = $("<input>")
    .attr("type", "checkbox")
    .attr("checked", "checked")
    .on("change", callbackTest)