У меня есть массив объектов в известном формате, он может выглядеть следующим образом:
var items = [{id : 1,
desc : "Funny things",
tags : ["Snippet","Funny"],
title : "Awsome"},
{id : 2,
desc : "Hello World",
tags : ["Fun","Funny"],
title : "What"},
{id : 3,
desc : "True story",
tags : ["Snippet","Cool"],
title : "Is it possible with things?"
}];
Я хочу создать на своей странице некоторую возможность поиска, которая будет искать разные вещи внутри элементов и позже отображатьэто в некотором роде.Кто-нибудь знает плагин, который мог бы помочь мне с этим?
Я просто пытался использовать функцию jQuery grep и придумал этот фрагмент для моего примера:
var serach = "things"; // Try to get the tags
var obj = $.grep(items, function(n, i){
// Condition one
if(n.desc.indexOf(serach)>=0)
{
return true;
};
// Condition two
if(n.title.indexOf(serach)>=0)
{
return true;
};
// Condition there
var foundTag = false;
for(var i = 0; i<n.tags.length;i++){
if(n.tags[i].indexOf(serach)>=0)
{
foundTag = true;
return true;
};
}
if(foundTag){return true};
return false;
});
http://jsfiddle.net/Az2rA/1/
Это довольно просто и работает.Однако это не решает такие вещи, как свойства приоритета.Как можно добавить приоритет функции.Например, если в заголовке найдено выражение serach, оно должно располагаться выше в массиве «matched».
Так что, если у кого-то есть хороший ввод или хороший плагин, я найду его полезным!