我不确定如何描述这个问题,但我正在用非常有用的 SlickGrid JQuery 插件制作一个 JQueryUI 小部件。Slickgrid 允许设置一个用作“过滤器”的函数,以在客户端上启用搜索行。像这样...
_filter: function (item) {
if (this.options.searchString == null)
{ return true; }
if (this.options.searchString.length == 0)
{ return true; }
for (var prop in item) {
if (item[prop] != null) {
if (item[prop].toString().toLowerCase().indexOf(searchString.toLowerCase()) > -1)
{ return true; }
}
}
return false;
}
self.options.dataView.setFilter(self._filter);
我的问题是一旦_filter
被调用,this
被设置为窗口元素,并且不再持有对小部件的引用,所以我的所有选项都不可用。我如何知道_filter
用户在网格中搜索的是什么词?
难度:页面上会出现多个小部件实例,每个实例都有自己单独的过滤器。另外,我不想修改 SlickGrid 的工作方式。