easyui-datagrid特殊字符不能显示的处理方法

小村上空升起袅袅炊烟,好像一个身穿白纱的少女在翩翩起舞,在夕阳的照耀下婀娜多姿。

在easyui中datagrid、combobox、tree等组件都不能显示含有html标签的特殊字符,因为这些字符会被当作html标签被解析掉。这里给出了一个处理方案,希望对大家有帮助。

以datagrid为例:

找到jquery.datagrid.js文件,在其中添加如下方法:

function escapeHtml(s) {
 if (s === undefined) {
 return s;
 } else {
 s = String(s === null ? "" : s);
 return s.replace(/&/g, "&").replace(/</g, "<").replace(/>/g,">")
  .replace(/"/g, """).replace(/'/g, "'");   // &,大于,小于,双引号,单引号
 }
}

找到js中formatter方法所在位置:

else {
 if (col.formatter) {
 cc.push(col.formatter(_1df, _1dc, _1db));
 } else {
 cc.push(_1df);
 }
}

修改为:

else {
 if (col.formatter) {
 cc.push(col.formatter(escapeHtml(_1df), _1dc, _1db));
 } else {
 cc.push(escapeHtml(_1df));
 }
}

这样尖括号就会被转义,datagrid就能显示标签符号了。

以上这篇easyui-datagrid特殊字符不能显示的处理方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

您可能有感兴趣的文章
Ajax传递特殊字符的数据如何解决

ajax传送参数含有特殊字符的快速解决方法

Js中使用正则表达式验证输入是否有特殊字符

JavaScript中字符串的常用操作方法及特殊字符

如何利用jQuery post传递含特殊字符的数据