Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当initselection数据包含&;时,select2 ajax中断;引用;_Javascript_Jquery_Ajax_Json_Jquery Select2 - Fatal编程技术网

Javascript 当initselection数据包含&;时,select2 ajax中断;引用;

Javascript 当initselection数据包含&;时,select2 ajax中断;引用;,javascript,jquery,ajax,json,jquery-select2,Javascript,Jquery,Ajax,Json,Jquery Select2,我有一个select2ajax字段,其中远程数据包含转义引号 我的用法如下: <input id="facilitiesInput" value='<%=_.pluck(facilities, "id")>' data-value='<%= JSON.stringify(facilities) %>' /> 问题是其中一个设施值包含(转义)引号。但是,因为我将整个对象字符串化,然后将其解析回来,所以所有引号都被解释为分隔符 还有javascript代码

我有一个select2ajax字段,其中远程数据包含转义引号

我的用法如下:

<input id="facilitiesInput" value='<%=_.pluck(facilities, "id")>' data-value='<%= JSON.stringify(facilities) %>' />

问题是其中一个设施值包含(转义)引号。但是,因为我将整个对象字符串化,然后将其解析回来,所以所有引号都被解释为分隔符

还有javascript代码

$('#facilitiesInput').select2({
    ajax: {... },
    results: function (data) {
       return {results: data};
    },
},
initSelection: function (element, callback) {

  callback(JSON.parse(element.attr("data-value")));  //this is where the magic doesnt happen. parse fails because of the quotes
},
formatResult: function (facility) {
  return '<span class="facility">' + facility.name + '</span>';
},
formatSelection: function (facility) {
  return '<span class="facility">' + facility.name + '</span>';
}
});
$(“#设备输入”)。选择2({
ajax:{…},
结果:功能(数据){
返回{结果:数据};
},
},
initSelection:函数(元素,回调){
回调(JSON.parse(element.attr(“数据值”));//这就是神奇之处。由于引号,解析失败
},
formatResult:功能(设施){
返回“”+facility.name+“”;
},
格式选择:功能(设施){
返回“”+facility.name+“”;
}
});
html输出为

<input  id="facilitiesInput" value='8146' data-value='[{&quot;name&quot;:&quot;Facility Name&quot;,
&quot;description&quot;:&quot;&lt;p&gt;Our Motto is &quot;Carpe diem&quot;\r\n&lt;/p&gt;}]' />

Select2将所有的“字符串”解释为JSON分隔符,这会破坏它

非常感谢您的帮助