将动态字符串值传递给函数
Pass dynamic string value to function
我有一个名字数组和超过100个地理坐标。我正在动态地创建一个附加的HTML表,其中包含5个最接近指定地址的坐标。我想根据5个最近的地址列表中所选的地址执行一个条件语句。我能够将数值传递给支持函数,但字符串值没有传递给函数,这是条件逻辑所必需的。如果我插入值i作为showRouteB()的参数,那么该函数将工作,但是当我尝试插入city.name或分配给city.name的变量时,该函数似乎不会被调用。当我在Chrome中检查控制台时,我找不到任何错误,我尝试了几种不同的变化。有人发现任何明显的语法或逻辑错误吗?
我的代码是: for (i = 0; i < 5; i++) {
city = top101citiesUS[i];
//dynamically load map_table
tbody += '<tr>';
tbody += '<td>';
tbody += '<a href=#'+city.name+' onclick=showRouteB('+city.name+')>' +city.name+ '</a>';
//tbody += city.name + city.lat + ',' + city.lng;
tbody += '</a>';
tbody += '</td>'
tbody += '</tr>';
}
…然后为表头+表体+表脚添加字符串值
function showRouteB(x){
var element = document.getElementById('ProuteB');
element.innerHTML = "This is the city name " + x;
}
您需要在字符串周围添加引号,否则它们将被视为变量。
tbody += '<a href=#'+city.name+' onclick=showRouteB("'+city.name+'")>' +city.name+ '</a>';
Levi的回答帮助了我,但是解决方案是值数组,例如Charles Street, Smith Ave和Vanburen Lane包含需要%20的空格。当值被传递给函数时,它被解释为"showRouteB('Smith ')",并且由于缺少"')"而创建了逻辑语法错误。为了找到问题,我不得不从值数组中删除空白。李维,谢谢你的回复!
相关文章:
- 如何将值传递给wicket中的javascript函数
- 需要将select标记选项值传递给ajax函数
- 在key up函数上将文本框值传递给javascript
- 将文本框值传递给javascript函数
- 如何解决将值传递给javascript函数时的错误
- 将参数值传递给javascript函数
- 将文本框值传递给JS函数以转换为JSON
- 如何将JS函数中的值传递给laravel控制器
- 将选定的值传递给jquery函数
- 将列表值传递给jQuery单击函数
- 如何将剃刀视图模态属性值传递给javascript函数
- 如何从代码隐藏将布尔值传递给 JavaScript 函数
- 将值与MySQL一起传递,将检索到的值作为JavaScript中的隐藏值传递给AJAX函数
- 无法将值传递给 jsp 中的警报函数
- 将强类型的 ViewModel 值传递给 Javascript 函数
- 将结果集值传递给 JavaScript 函数
- 将值传递给 JavaScript 函数 onclick
- 将多个选择值传递给 Javascript API 函数
- 如何从无限循环的Javascript函数将值传递给MySQL
- 使用 setTimeout 时将值传递给 javascript 中的函数