在淘汰分页中搜索条形逻辑错误

时间:2018-06-16 12:45:03

标签: javascript jquery knockout.js

我使用来自JSON数据的SimpleGrid和Loaded数据在knockout中创建了分页表。我创建了一个搜索栏来过滤JSON数据中的值,并在分页表中显示结果。

我使用jquery Filter方法和Toggle方法从表中搜索数据。问题是搜索仅适用于当前页面(搜索仅适用于tbody)不从分页简单网格的剩余页面中检索数据

这是我在分页简单网格中搜索的jquery代码

            $("#myInput").on("keyup", function() {

                var value = $(this).val().toLowerCase();

                $(".ko-grid tbody tr").filter(function() {

                        $(this).toggle($(this).text().toLowerCase().indexOf(value)>-1);
                });
            }); 

搜索工作对于简单网格中的当前页面来说很简单。但我希望搜索从JSON过滤数据并在SimpleGrid表中显示结果。

以下是从当前页面1过滤数据的样本输出

Image that Filter Search Result From Current Page Only

但我希望从所有页面加载搜索结果

1 个答案:

答案 0 :(得分:0)

如果要将搜索逻辑应用于整个网格,则需要过滤掉原始的项目数组,并将其作为源提供给网格。 因此,您需要创建一个额外的计算机,它将取决于搜索值和原始数组,并将数据网格源从原始项目替换为已过滤:

        var ctx = this;
        $("#myInput").on("keyup", function() {

            var value = $(this).val().toLowerCase();
            ctx.searchText(value);
        }); 

然后在keyUp上你可以更新你的observable(或者可以重写它以直接用knockout绑定搜索值):

{{1}}