【发布时间】:2012-08-15 23:10:12
【问题描述】:
我认为这是 jqGrid 中的一个错误(我使用的是 4.4.0 版)。在我的 colModel 中,这很好用:
stype:'select', searchoptions: {sopt: ['eq','ne'], value:"Red:Red;Green:Green;Blue:Blue"}
但事实并非如此:
stype:'select', searchoptions: {sopt: ['eq','ne'], dataUrl:'rest/selectcolors'};
dataUrl 的返回位置
<option value='Red'>Red</option><option value='Green'>Green</option><option value='Blue'>Blue</option></select>
颜色在组合框中显示正常,默认值为“红色”,但过滤器未正确初始化,除非用户通过选择“绿色”或“蓝色”更改组合框过滤器(然后可能返回并选择'红色的')。如果用户尝试在不首先更改组合框值的情况下进行过滤,则找不到匹配项。这个问题在初次使用过滤器对话框时和重置过滤器对话框后都会出现,因此对用户来说非常混乱。
有人知道解决方法/解决方法吗?
【问题讨论】:
-
进一步测试表明,当'select'搜索是搜索对话框中的第一个搜索选项时会出现问题;即当用户重置搜索对话框时,会显示颜色搜索选项。因此,重置后,搜索对话框显示“颜色等于红色”,但单击查找不会返回匹配结果,并且 $("#list").jqGrid('getGridParam','postData').filters 的值为 {"groupOp" :"AND","rules":[{"field":"color","op":"eq","data":""}]} (注意 data 属性是空字符串而不是 "Red" )。