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);
});