easyui-datagrid特殊字符不能显示的处理方法
时间:2021-01-01 14:06:23|栏目:JavaScript代码|点击: 次
在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就能显示标签符号了。