如何杀死这个意外的标识符? [英] How to kill this unexpected identifier?

查看:105
本文介绍了如何杀死这个意外的标识符?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一些法语文本,在选择项选项中使用单引号和双引号作为函数参数.

I have some french texts which is using single quote and double quote in select items option as function parameter.

  $.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="button_5a1_list_submit(20, 'value has single quote 'again text');"

但是单引号或双引号引起了意外的标识符,您该如何杀死它?

But the single quote or double quote is causing unexpected identifier how do you kill this?

推荐答案

由于大多数浏览器仍然不支持onClick作为选项,因此您需要绑定到select元素.

Since most browsers won't support onClick for an option anyway, you'll need to bind to the select element.

我建议在选项中添加data属性,例如:

What I suggest is adding a data attribute to your option such as:

$("#ac1").append("<option data-val=\""+part_one+"\">"+part_two+"</option>");

并像这样绑定到select:

$("#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);
});

这是一个跨浏览器解决方案,当您从select元素中进行选择时,将获得part_one(数据值)和part_two(选项值).

This is a cross browser solution that will get the part_one (data-val) and the part_two (option value) when you make a selection from your select element.

这篇关于如何杀死这个意外的标识符?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆