2014-11-03 134 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