前两天同事作了个功能,经过勾选下拉框里的值进行列表查询,结果下拉框里的值是“0<t<=2”、“2<t<=5”、“t>5”这样的。html
combobox是用脚本渲染出来的,里面的data的格式就如这样:spa
[{ID:"01",TEXT:"0<t<=2"},{ID:"02",TEXT:"2<t<=5"},{ID:"03",TEXT:"t>5"}]
结果<小于号被识别成了html的标签,这样就致使了下拉框里显示的值都是不正常的,这里我尝试了两种解决办法:code
方法一(前台还有点问题):orm
我从后台取到数据以后,用Java代码进行遍历,把其中的<使用String里面的replace方法换成“<”,把其中的>换成了“>”htm
通过这一番处理以后,我发现点击下拉按钮以后里面的内容能够正常显示了,可是当我选中其中一个以后发现内容框里面的值竟然成了“0<t<=2”、“2<t<=5”、“t>5”,blog
这个我就没有继续再日后研究了,改用了方法二,有兴趣的能够继续沿着这条路走下去io
方法二:function
此次直接换到前台来处理,发现简单了不少,直接在前台用replace方法把<换成“<”,把其中的>换成了“>”,语法也很简单,只须要在渲染combobox的时候添加个formatter方法form
具体代码以下:class
formatter:function (row) { var text = row.TEXT; if (text.indexOf("<")){ text = text.replace("<","<"); } else if (text.indexOf(">")) { text = text.replace(">",">"); } var s = '<span style="font-weight:normal">' + text + '</span><br/>' return s; }