Javascript 当initselection数据包含&;时,select2 ajax中断;引用;
我有一个select2ajax字段,其中远程数据包含转义引号 我的用法如下: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代码
<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='[{"name":"Facility Name",
"description":"<p>Our Motto is "Carpe diem"\r\n</p>}]' />
Select2将所有的“字符串”解释为JSON分隔符,这会破坏它
非常感谢您的帮助