3

该代码动态创建一个可以工作的列表视图,但我想制作它,因此当单击列表视图项目时,它会将 url 参数发送到另一个方法。当我设置参数时,它不会提醒参数,但是当我没有给出参数时它会起作用。

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>";

以上不起作用 - 我已经完成了 alert(results.rows.item(i).url) 并且它有一个值。

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

有人可以解释我做错了什么,我已经尝试解决这个问题好几个小时了。

干杯!

4

1 回答 1

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>";
于 2012-10-26T14:18:22.477 回答