简体   繁体   English

Javascript参数传递不起作用

[英]Javascript Parameter Passing Not Working

The code dynamically creates a listview which works but i want to make it so when a listview item is clicked it sends the a url paramater to another method. 代码动态创建一个列表视图,但是我想这样做,当点击一个listview项时,它会将一个url参数发送给另一个方法。 When i set a paramater it doesnt alert the paramater, but when i give no parameter it works. 当我设置一个参数时,它不会警告参数,但是当我没有给出任何参数时它会起作用。

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

The above works - No parameter in openURL(); 以上工作 - 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>";

The above doesnt work - I have done alert(results.rows.item(i).url) and it has a value. 以上不起作用 - 我已完成警报(results.rows.item(i).url)并且它有一个值。

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

Could someone explain what i'm doing wrong, i've been trying to solve the problem for hours. 有人可以解释我做错了什么,我一直试图解决这个问题几个小时。

Cheers! 干杯!

You are using single quotes to open the HTML attribute, you can't use it as JavaScript String because you'll be closing the HTML attribute, use double quotes: 您使用单引号打开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>";

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM