2012-10-26 45 views
3

該代碼動態創建一個listview,它的工作原理,但我想這樣做,當一個列表視圖項被點擊它發送一個URL參數到另一個方法。當我設置一個參數時,它不會提示參數,但是當我沒有給出參數時它就起作用。JavaScript參數傳遞不工作

var output = 
"<li onclick='openURL()'><h3> Module Code: " + 
results.rows.item(i).module 
+ "</h3>Room: " 
+ results.rows.item(i).room + 
"</li>"; 

上述工作 - openURL()中沒有參數;

var output = 
    "<li onclick='openURL('" + results.rows.item(i).url + "')'><h3> Module Code: " + 
    results.rows.item(i).module 
    + "</h3>Room: " 
    + results.rows.item(i).room + 
    "</li>"; 

以上不工作 - 我已經做了警報(results.rows.item(I)的.url),它有一個值。

function openURL(url) { 
    alert("opening url " + url); 
} 

有人能解釋我做錯了什麼,我一直在試圖解決這個問題了幾個小時。

乾杯!

+0

嵌套的撇號:'「< li onclick ='openURL('「..' –

+0

在第二種情況下ur獲得url參數的空值 – Shekhar

回答

4

您正在使用單引號打開HTML屬性,你不能把它作爲JavaScript字符串,因爲你會被關閉HTML屬性,使用雙引號:

var output = 
    "<li onclick='openURL(\"" + results.rows.item(i).url + "\")'><h3> Module Code: " + 
    results.rows.item(i).module 
    + "</h3>Room: " 
    + results.rows.item(i).room + 
    "</li>"; 
+0

感謝您的幫助,它完美的工作! – SkelDave