我有这段代码(jquery):
function somefunction() {
$.ajax({
type : 'POST',
url : 'post.php',
dataType : 'json',
success : function(data){
var mess = "";
var count = 0;
while (count < (data.length - 1))
{
mess = mess + "<a href=# onclick=deletePerson("JohnDoe");return false;><img src=x.gif></a>" + data[count].name + "<br />";
count++;
}
$('#mydiv').html(mess).fadeIn('fast');
},
});
}
function deletePerson(arg) {...}
当我运行时,一切正常。 但是,当我想用onclick传递变量(而不是“JohnDoe”)时,它会停止工作:
var myvar = "JohnDoe";
mess = mess + "<a href=# onclick=delete(myvar);return false;><img src=x.gif></a>" + data[count].name + "<br />";
我的编辑告诉我:“未解决的变量或类型”。
从未遇到传递参数的问题,但是使用这个onClick-thing它只是不起作用......
任何人都知道我做错了什么?
非常感谢!
编辑:约瑟夫的帖子解决了JohnDoe问题(谢谢!),但是,当我提出时:
var myvar = data[count].name;
它停止工作......有什么想法吗?
答案 0 :(得分:1)
您需要在
中连接变量myvar = "JohnDoe";
mess = mess + "<a href=# onclick=delete('"+myvar+"');return false;><img src=x.gif></a>" + data[count].name + "<br />";
答案 1 :(得分:0)
delete
是javascript中的保留关键字,您应该重命名您的函数。
...
mess = mess + "<a href=# onclick=deletePerson('"+myvar+"');return false;><img src=x.gif></a>" + data[count].name + "<br />";
...
function deletePerson(name) {...}