我在将已注册事件中的对象发送到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
}
答案 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)