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

本文介绍了一种在EasyUI框架的datagrid组件中正确显示含有HTML标签的方法,通过自定义escapeHtml函数并修改formatter方法实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在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, "&amp;").replace(/</g, "&lt;").replace(/>/g,"&gt;")
			.replace(/"/g, "&quot;").replace(/'/g, "&#39;");      // &,大于,小于,双引号,单引号
	}
}

找到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就能显示标签符号了。







评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值