如何定义最小字符长度来触发jQuery Mobile listview搜索

时间:2012-03-19 23:57:35

标签: listview jquery-mobile

我有一个非常庞大的(超过1000条记录)listview,每次我输入搜索字段都会触发listview过滤器进程并且它非常慢,特别是在输入第一个字符时。然而,在jQuery Mobile中定义最小长度以解决过滤过程的任何快速方法都可用吗?

1 个答案:

答案 0 :(得分:1)

是的,您可以使用以下内容定义自己的搜索filterCallback函数:

yourFilterFunction = function( text, searchValue ){
  if (searchValue.length < 3) // automatically omit search terms less than 3
  {
    return 0;
  }
  return text.toLowerCase().indexOf( searchValue ) === -1;
};

$("#mylist").listview('option', 'filterCallback', yourFilterFunction);

当搜索词小于3时,filterCallback函数返回 0 。这样可以防止它迭代整个列表项集合。

如果这不适合你,我建议你自己滚动(启用ajax?)搜索过滤器。

此处的文档:http://jquerymobile.com/test/docs/lists/docs-lists.html

希望这有帮助!