Javascript参数传递不起作用

时间:2012-10-26 14:15:21

标签: javascript parameters

代码动态创建一个列表视图,但是我想这样做,当点击一个listview项时,它会将一个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>";

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

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

有人可以解释我做错了什么,我一直试图解决这个问题几个小时。

干杯!

1 个答案:

答案 0 :(得分: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>";