Javascript 数据网格过滤器中的精确匹配

Javascript 数据网格过滤器中的精确匹配,javascript,jquery,datagrid,Javascript,Jquery,Datagrid,我在尝试使用datagrid筛选器在表中的列中实现精确匹配搜索时遇到问题 例如: 在列Name下,如果搜索“Name 1”,搜索结果将仅显示Name 1。 有人能教我怎么做吗? 我非常感谢你的帮助 $(function(){ var rows = []; for(var i=1; i<=800; i++){ var amount = Math.floor(Math.random()*1000);

我在尝试使用datagrid筛选器在表中的列中实现精确匹配搜索时遇到问题

例如: 在列Name下,如果搜索“Name 1”,搜索结果将仅显示Name 1。 有人能教我怎么做吗? 我非常感谢你的帮助

        $(function(){
        var rows = [];
        for(var i=1; i<=800; i++){
            var amount = Math.floor(Math.random()*1000);
            var price = Math.floor(Math.random()*1000);
            rows.push({
                inv: 'Inv No '+i,
                date: $.fn.datebox.defaults.formatter(new Date()),
                name: 'Name '+i,
                amount: amount,
                price: price,
                cost: amount*price,
                note: 'Note '+i
            });
        }
        $('#tt').datagrid({
            view         : scrollview,
            striped      : true,
            pagination   : false,
            pageSize     : 50,
            singleSelect : false,
            autoRowHeight: false,
            remoteFilter : false,
            remoteSort   : true,
            multiSort    : true,
        });
        $('#tt').datagrid('enableFilter', [{
            field:'amount',
            type:'numberbox',
            options:{
                precision:0
            },
            op:['equal','notequal','less','greater']
        }])
        $('#tt').datagrid('loadData', rows);
    });
$(函数(){
var行=[];
对于(var i=1;i根据),可以为过滤器指定默认运算符,如下所示:

$('#tt').datagrid({
    (...)
    defaultFilterOperator: 'equal'
});

这使用了精确的区分大小写的匹配,这可能是您想要的,也可能不是您想要的(“名称1”在名称为“名称1”时不起作用。我没有看到不区分大小写的选项。

在文档开头添加以下内容,以避免区分大小写的行为

$.fn.datagrid.defaults.operators = 
            {
                    equal: {
                                text: 'Equal',
                                isMatch: function(source, value){
                                    return source.toLowerCase() == value.toLowerCase();
                                }
                            }
            };
替换

$('#tt').datagrid('enableFilter', [{
                field:'amount',
                type:'numberbox',
                options:{
                    precision:0
                },
                op:['equal','notequal','less','greater']
            }])


会的

非常感谢您的帮助。我真的非常感谢您的帮助!
$('#tt').datagrid('enableFilter', [{
                field:'amount',
                type:'numberbox',
                options:{
                    precision:0
                },
                op:['equal','notequal','less','greater']
            },{
                field:'name',
                type:'textbox',
                options:{
                    precision:0
                },
                defaultFilterOperator: 'equal'
            }])