0

我们是否必须在外部编写任何内容才能对列执行搜索。从演示中我了解到没有编写任何代码,请帮助我。我有过滤:true,所以我在每个 col 上都有搜索框,当我输入文本并点击键盘的输入按钮或搜索图标时,什么也没有发生,但它调用了一个 REST-ful 服务,我为获取网格数据而编写了该服务

以下是我的代码

 controller : {
                        loadData : function(filter) {

                        var d = $.Deferred();

                        $.ajax({
                            url : "myurl",

                            dataType : "json",
                            type : 'POST',
                        }).done(function(response) {

                                    // client-side filtering
     $.grep(response, function(project) {

   return project.Name === filter.Name;
                             });
                            d.resolve({
                                data : response.project

                            });




                        });
                        return d.promise();

                                           },

                    },
4

1 回答 1

0
  1. 第一个问题是$.grep不改变源数组,它返回过滤的结果。

  2. 还要确保响应数据,因为您过滤了responsewhile resolve deferred response.project。应用于grep项目数组。

  3. 另一件事是确保返回数据的格式,如果pageLoadingfalse,则应使用项目数组(而不是 )来解决延迟{ data: [items] }

因此,根据 #2 和 #3,固定代码可能是:

.done(function(response) {
    var result = $.grep(response, function(project) {
        return project.Name === filter.Name;
    });

    d.resolve(result);
});

希望这会有所帮助。

于 2016-10-15T12:10:40.567 回答