2014-11-03 140 views
0

我正在创建一个div,并在其onclick函数中,我打电话给function Remove(),我正在传递它的ID和名称。但是当我在我的删除功能中使用name时,会引发undefined error。例如,我拨打Remove(1,xyz),然后在Remove函数中我无法访问xyz;它显示我xyz没有定义。名称未定义错误

这里是我的jQuery代码调用Remove功能:

$("#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我的功能。

+0

你能提供的jsfiddle好吗? – prog1011 2014-11-03 07:19:33

+0

转到页面源代码,并尝试了解'onclick ='删除('','')''中的确切值,并且您可以在Chrome – prog1011 2014-11-03 07:21:27

+0

中使用** Inspect Element **,您的'div'不会有一个'名字' – myfunkyside 2014-11-03 07:21:50

回答

1

更改您的代码如下

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

@Manx_Warrior - 试试这个代码它的工作 – prog1011 2014-11-03 07:28:32

+0

棒极了! 它的工作! 非常感谢。 – 2014-11-03 07:31:50

+0

很高兴帮助你:) – prog1011 2014-11-03 08:52:02

1

保存在onclick中的内容实际上是Remove(id,name)。这看起来好看一看,但...

id=10name="Mark"

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

你当然应该逃避你要添加的额外引号。您需要致电Remove(10,"Mark")。注意引号。

+0

是通过检查元素我得到删除fucntion作为删除(1,标记)不删除(1,“标记”)。这是我无法访问我的函数名称。 Prog为我提供了解决方案。 – 2014-11-03 07:33:30