我试图在用户点击单元格值时替换文本的颜色。似乎当我尝试在我的html中使用格式时,它停止工作,但是,它完全正常,没有格式化。 JSFiddles将帮助您理解我正在采取的措施。在此之前,我想提几件事:
当我没有格式化时,我只是使用
<div id='jqxPanel' style=" font-size: 13px; font-family: Verdana;"> My content here </div>
和var text = panel.text();
当我使用格式化时,我正在使用
<div id='jqxPanel' style=" font-size: 13px; font-family: Verdana;"><div style="margin: 10px;"><pre>My content here </pre></div></div>
和var text = panel.html();
以下是没有任何格式的工作JSFiddle和具有格式功能的非工作JSFiddle。如何使非工作JSFiddle正常工作,以便我可以看到突出显示的文本?
答案 0 :(得分:1)
我更新了您的JSFiddle
$("#jqxgrid").on("cellclick", function (event)
{
var value = event.args.value;
var color = "#FF0000";
var highlighted =
text.replace( new RegExp(value, 'ig' ), '<span style="color:' + color + ';">' + value + '</span>');
panel.jqxPanel('clearcontent');
panel.jqxPanel('append', highlighted);
});
你试图取代“某事”而不是“某事”(注意空白)。而且你在搜索字符串和替换中都这样做。
此外,替换功能区分大小写。我添加了一个RegExp,使其不区分大小写。
但是,这只是一个例子,您可以看到它用按钮的情况替换了文本,因此“PATIENT”将突出显示“患者”。