The Fiddle ,我有一个充满 Ajax 的 SlickGrid 女巫,我可以在一个列中搜索。这一切都在 example 中得到了很好的解释。的 SlickGrid。现在我想制作一个自定义过滤器。此过滤器是一个文本字段,可以在多列中进行搜索。 (实际上所有列) 使用我找到的代码 here . 这是我的代码:
grid = new Slick.Grid("#myGrid", dataView, columns, options);
$('#txtSearch').keyup(function (e) {
var searchList = $.trim(this.value.toLowerCase()).split(' ');
dataView.setFilter(gridFilter);
grid.invalidate();
this.focus();
});
function gridFilter(rec) {
var found;
for (i = 0; i < gridSearchList.length; i += 1) {
found = false;
$.each(rec, function (obj, objValue) {
if (typeof objValue !== 'undefined' && objValue != null
&& objValue.toString().toLowerCase().indexOf(gridSearchList[i]) != -1) {
found = true;
return false; //this breaks the $.each loop
}
});
if (!found) {
return false;
}
}
return true;
}
目前,当我尝试执行 .setFilter() 时,我在 slick.dataview.js 文件中收到“未捕获的语法错误:未定义的标签‘_coreloop’”。代码可能有什么问题?变量 gridSearchList 是我从 Ajax 获得的数据(数组)。 谢谢!
最佳答案
您的过滤器代码似乎与 SlickGrid 的过滤器内联不兼容。在 DataView 中将其关闭。
关于javascript - SlickGrid 过滤多列(使用 JSFiddle),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20701108/