名称未定义错误

时间:2014-11-03 07:15:09

标签: javascript jquery

我正在创建一个div,在我的onclick函数中,我正在调用function Remove()我传递其id和名称。但是当我在删除函数中使用name时,会抛出undefined error。例如,我拨打Remove(1,xyz),然后在Remove功能中,我无法访问xyz;它显示我xyz未定义。

这是我调用Remove函数的jQuery代码:

$("#h2-"+id).append("<div id = 'c2-"+id+"' onclick = 'Remove("+id+","+name+")' class='clear_btn1'>&nbsp;</div>");

这是我的Remove函数:

function Remove(i, name){

    alert("I am deleting " +name);

    var sender = "<?php echo $user_check?>";
    var receiver = name;

    console.log("Name is " +sender);
    console.log("receiver is " +receiver);
}

i的价值非常好,但我的功能无法访问name

2 个答案:

答案 0 :(得分:1)

onclick中保存的内容实际上是Remove(id,name)。初看起来看起来还不错,但是......

id=10name="Mark"

你会打电话给Remove(10,Mark),这不是你想要的。 Mark将被视为变量。因此,您需要添加附加名称以将其视为字符串。

当然,你应该逃避你要添加的额外报价。

您需要致电Remove(10,"Mark")。注意引号。

答案 1 :(得分:1)

更改以下代码

$("#h2-"+id).append("<div id = 'c2-"+id+"' onclick = \"Remove("+id+",'"+name+"')\" class='clear_btn1'>sdfsdf sdfsdf</div>");