多次搜索json调用

时间:2017-09-21 09:12:54

标签: json

我的搜索是在带有信息的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;
}

非常感谢!

1 个答案:

答案 0 :(得分:0)

搜索的关键是indexOf