重新加载后带有特殊字符的jqGrid过滤器问题
Posted
技术标签:
【中文标题】重新加载后带有特殊字符的jqGrid过滤器问题【英文标题】:jqGrid filter issue with special characters after reload 【发布时间】:2021-07-02 20:23:04 【问题描述】:我们有 jqGrid 表,它将表显示(例如过滤)保存到 DB,以便当用户再次访问该站点时,保留以前的显示。
当页面没有重新加载时,使用特殊字符过滤是可以的。但是,如果使用特殊字符(例如 \b)保存,页面重新加载后会显示不正确的字符。
例如,过滤“\b”时,重新加载后过滤器工具栏上显示的只有“b”(通过F12检查时,来自服务器的值是正确的“\b”但在html上检查时,value= “乙”)。所以我们认为问题可能出在设置 HTML 上。
我们已经尝试使用“自动编码”以防万一它可以提供帮助,但仍然没有运气。
是否有人熟悉可能导致问题的原因?
提前致谢。
【问题讨论】:
【参考方案1】:如果您通过转义字符搜索 - 例如“\b”,实际上 jqGrid 会构建以下搜索字符串,并将其发送到服务器:
filters: "groupOp":"AND","rules":["field":"ShipName","op":"cn","data":"\\b"]
可以看出,搜索词有一个双“\\”。为了进行正确的搜索,您需要将 \\b 发送到网格 - 即将其正确保存在您的数据库中。
在所有其他情况下,请提供演示问题的工作演示。
为了演示这个问题,你应该在这篇文章中写三个 \ 以显示正确的两个 \ 字符。
【讨论】:
以上是关于重新加载后带有特殊字符的jqGrid过滤器问题的主要内容,如果未能解决你的问题,请参考以下文章