2012-07-05 162 views
2

我正在使用Google Maps API,我希望標記的標籤具有執行警告的鏈接。函數中的Javascript字符串參數

var str = "hi"; 
var mp_position = createGoogleMapsLocation(data[i].location); 
var text = "<p>Edit: <a href=# onClick='edit("+str+")'>Click here</a></p>"; 
addMeetingMarker(mp_position, text); 

addMeetingMarker函數起作用,但不編輯函數。代碼是:

function edit(message) { 
    alert(message); 
} 

如果在編輯函數的參數中設置了一個整數,它將起作用,但傳遞變量str不起作用。爲什麼?

回答

6

你需要更多的雙引號包圍的字符串值 - 這樣:

var text = "<p>Edit: <a href=# onClick='edit("+str+")'>Click here</a></p>"; 

成爲

var text = "<p>Edit: <a href=# onClick='edit(\""+str+"\")'>Click here</a></p>"; 
+0

非常感謝! – 2012-07-05 20:25:28

0

你缺少必需的雙引號,使str帶引號的字符串。

1
edit("+str+") 

將導致JavaScript代碼

edit(hi) 

hi是未知變量。根據您希望edit函數執行的操作,請添加報價:edit\""+str+"\"),或者刪除加號:edit(str)。在最後一種情況下,編輯功能將收到str變量,在第一種情況下,它將收到「hi」字面值。

相關問題