javascript - jqGrid - 'in' op 不适用于过滤器

标签 javascript jquery jqgrid

我有一个简单的演示,它可以在测试分数表上使用“大于”过滤器。来源可参见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 年级的行。但是,当我取消注释此规则时,它不起作用。事实上,它甚至打破了 table 。这是一个错误,还是我做错了?

需要明确的是,我只是想找到一种使用 op: 'in' 功能的方法。 jqGrid wiki 上的搜索列表 op: 'in'sopt 的值下,所以应该有一种方法可以做到这一点......

最佳答案

你是对的。当前的本地搜索实现不支持"in"操作。它仅使用 "eq" 来代替。

所以我建议您使用带有 "eq" 操作的 block,而不是 "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}
            ]
        }
    ]
};

查看过滤器完整格式的描述here .

关于javascript - jqGrid - 'in' op 不适用于过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13905280/

相关文章:

javascript - 正则表达式不区分大小写

javascript - 打印网页问题::寻找打印网页的好教程(由 Jquery ui、jqgrid、zend 构建)

javascript - 如何使用 jQuery chop select 中的选项文本

jquery - 为什么即使这样选择我的 jqGrid 行也不可编辑?

javascript - 为什么自动执行匿名会有效?

javascript - Puppeteer 没有更改我的 IP

javascript socket.on(..) 没有被调用

javascript - 如何为 true 和 false 添加输入文本验证?

jquery-plugins - jqGrid 记录数在千位前有空格

在 HTML5 Web Worker 中创建标记的 JavaScript 网格