Javascript 如何杀死这个意外的标识符?
我有一些法语文本,在选择项选项中使用单引号和双引号作为函数参数Javascript 如何杀死这个意外的标识符?,javascript,jquery,Javascript,Jquery,我有一些法语文本,在选择项选项中使用单引号和双引号作为函数参数 $.get(submit_url + '/spelist', { action: 'spelist', list: 'a' }, function(msg) { $('#ac1').html(''); for(be in msg.db) { var part_one = msg.db[be].id; var part_two = msg.db[be].list;
$.get(submit_url + '/spelist', {
action: 'spelist',
list: 'a'
}, function(msg) {
$('#ac1').html('');
for(be in msg.db) {
var part_one = msg.db[be].id;
var part_two = msg.db[be].list;
$('#ac1').append('<option style="padding:10px 0px;" onclick="button_5a1_list_submit(' + part_one + ',\'' + part_two + '\');">' + part_two + '</option>');
}
});
但是单引号或双引号会导致意外标识符,您如何消除这种情况
由于大多数浏览器无论如何都不支持
onClick
选项,因此您需要绑定到select
元素
我建议在选项中添加数据属性,例如:
$("#ac1").append("<option data-val=\""+part_one+"\">"+part_two+"</option>");
这是一个跨浏览器解决方案,当您从select
元素中进行选择时,它将获得第一部分
(数据值)和第二部分
(选项值)。,这应该可以解决您的问题。JSON.stringify若要将任何旧牙签混乱转换为有效的js字符串文字,请将属性delims切换到使用onclick的aposcan?在移动设备中如何工作?如何使用JavaScript执行.on('click')@sharfDo您不想要jQuery方法吗?
$("#ac1").append("<option data-val=\""+part_one+"\">"+part_two+"</option>");
$("#ac1").on("change", function(){
var sel = $(this);
var val = sel.val();
var data = sel.find("option:selected").data("val");
button_5a1_list_submit(data, val);
});