0

加载网站后,我想对 PHP 脚本进行一次 ajax 调用,该脚本返回一个 json 数据数组(最多 200 条),并将其存储在草坪椅中。见http://brian.io/lawnchair/

我预加载数据不必每次都等待 PHP/MySQL 响应 ajax 请求。我想要一个在键入时返回值的自动完成字段。结果来自草坪椅,因此不再调用 MySQL 服务器。

所以考虑我们有这个数据集:

当用户键入“p”时,需要显示以上所有内容。当用户键入“app”时,只显示 Apple 和 Pineapple。

因此,我需要使用 MySQL WHERE LIKE "%string%" 等效代码搜索数据集。我查看了布赖恩的网站,但我只看到查询可以进行完全匹配搜索?见:http ://brian.io/lawnchair/plugins/

在此先感谢您提供正确方向的任何提示。

4

1 回答 1

1

快速浏览(相对较差的)文档表明,以下内容将起作用:

var hits = [],
    searchExpr = RegExp.escape(searchValue);

fruitStorage.where('/' + searchExpr + '/i.test(record.name)', function (record) {
    hits.push(record);
});

// now do something with hits

如果不深入研究源代码,这也可能有效。

var hits = [],
    searchExpr = new RegExp(RegExp.escape(searchValue), "i");

fruitStorage.where(
    function (record) { return searchExpr.test(record.name); }, 
    function (record) { hits.push(record); }
);

顺便说一句,RegExp.escape()取自这个答案

于 2013-10-15T13:08:36.543 回答