我有一个简单的演示,它可以在一个测试分数表上运行一个“大于号”的过滤器。可以找到来源by clicking here。如果向下滚动到 var myfilter ,您将看到我已注释掉其中一条规则。
var myfilter = {
groupOp: "AND",
rules: [
{field: 'score', op: 'gt', data: 70},
//{field: 'grade', op: 'in', data: [10, 11, 12]}
]
};
此规则说只选择10,11,12等级的行。但是,当我取消注释此规则时,它不起作用。事实上,它甚至打破了桌面。这是一个错误,还是我错了?
要说清楚,我只是想找到一种方法来使用 op:'in'功能。搜索的jqGrid wiki在 sopt 的值下列出 op:'in',因此应该有办法实现...
答案 0 :(得分:2)
你是对的。 本地搜索的当前实现不支持"in"
操作。它仅使用"eq"
。
因此,我建议您使用"eq"
操作阻止代替"in"
。您问题中的示例可以重写为以下内容:
var myfilter = {
groupOp: "AND",
rules: [
{field: 'score', op: 'gt', data: 70},
],
groups: [
{
groupOp: "OR",
rules: [
{field: 'grade', op: 'eq', data: 10}
{field: 'grade', op: 'eq', data: 11}
{field: 'grade', op: 'eq', data: 12}
]
}
]
};
请参阅filters
here的完整格式说明。