动态传递参数给javascript函数时出错
Error while passing parameter to javascript function dynamically
我正在动态创建列表。当用户点击li元素时,setCollege方法将被调用。
生成li
的代码为:
$('#dropDown ul').append("
<li onclick=setCollege("+ data[i].id +",'"+ data[i].college_name +"')><i class='fa fa-university'></i>" + data[i].college_name + "</li>");
但是javascript动态地在大学名空格后添加"
,如
<li onclick="setCollege(3,'Nirma" university')"> <i class="fa fa-university"></i>Nirma University</li>
由于"
,在调用js函数
onclick是一个HTML属性,因此它本身需要加引号。
试试这个:
var tpl = '<li onclick="setCollege(' + data[i].id + ', ' + data[i].college_name + ' );"><i class="fa fa-university"></i>' + data[i].college_name + '</li>';
$('#dropDown ul').append( tpl );
注意单引号和双引号的使用
但是既然你的问题被标记为jquery,我建议:
var listItem = $( '<li></li>' ).text( data[i].college_name );
$( '<i class="fa fa-university"></i>' ).prependTo( listItem );
listItem.on( 'click', function() {
setCollege( data[i].id, data[i].college_name);
});
listItem.appendTo( '#dropDown ul' );
试试这样写:
$('#dropDown ul').append("
<li onclick=setCollege("+ data[i].id +",""+ data[i].college_name +"")><i class='fa fa-university'></i>" + data[i].college_name + "</li>");
您的连接以双引号开始("
)。所以你需要跟随直到语句结束。
试试这个,
"'+ data[i].college_name +'"
不是'"+ data[i].college_name +"'
还添加双引号(" "
)包围onclick事件,并转义它们,
onclick='"setcollege(.......)'"
因为你没有将周围的"
添加到你的onclick属性:
$('#dropDown ul').append("
<li onclick='"setCollege("+ data[i].id +",'"+ data[i].college_name +"')'"><i class='fa fa-university'></i>" + data[i].college_name + "</li>");
但是为什么不使用jQuery将事件附加到列表项上呢?这将是更好的解决方案:
$('#dropDown').on('click', 'li', function() {
setCollege(...);
});
相关文章:
- 尝试调用AngularJS上的函数时出错
- 得到"未定义不是函数“;使用显示原型图案时出错
- 从函数中的函数返回数组时出错
- 从 java 脚本调用函数时 PHP 中出错
- 使用PHP和Javascript在函数内部传递alphaneumeric值作为参数时出错
- 比较$watch函数内的基元类型时出错
- CakePHP错误:在非对象上调用成员函数get(),使用cakejavascript助手时出错
- 构造函数出错
- javascript函数出错
- AngularJS:没有定义$rootscope的全局函数出错,没有定义$scope
- Java脚本函数不;一个函数出错后无法工作
- OnClick函数出错
- 函数b()出错
- for循环中的JavaScript匿名函数出错
- 使用带有href的attr函数出错
- 从外部文件调用JavaScript函数出错
- 使用本地存储的可排序列表函数出错
- 确定数字中位数的函数出错
- PHP邮件函数发送电子邮件,但AJAX函数出错
- ajax函数出错,尽管它转到了我的webservice