我的搜索是在带有信息的json文件上执行ajax调用。访问者可以多次搜索该信息的项目,但我无法创建该多次搜索。当访问者搜索信息时,他们只会在其中一个搜索过滤器上获得结果。
您可以搜索:
城市
function getEventsByName(key, value)
{
$.ajax({
dataType: 'json',
url: '...',
success : function(data)
{
var events = JSON.stringify(data);
var filter = getObjects(data, key, value);
$("#block-a-events").empty();
$.each($.uniqueSort(filter), function(i, item) {
content += '</div>';
etc...
$("#block-a-events").append(content);
})
}
})
}
上面你找到了对json文件的调用。 在信息显示之前。我将过滤 getObjects()
中的信息function getObjects(obj, key, val)
{
var objects = [];
for (var i in obj) {
if (!obj.hasOwnProperty(i)) continue;
if (typeof obj[i] === 'object') {
objects = objects.concat(getObjects(obj[i], key, val));
} else if (i.includes(key) && obj[key].includes(val)) {
objects.push(obj);
}
}
return objects;
}
非常感谢!
答案 0 :(得分:0)
搜索的关键是indexOf