2

这就是我所拥有的: 在此处输入图像描述

现在我想进行实时搜索。关键是当您在文本框中键入时,您必须自动在本地存储中搜索与搜索框中的文本相同的内容。所有不匹配的数据都将消失。

$("#searchbox").keyup(function(){

    // Retrieve the input field text
    var searchtext = $(this).val();

    // Loop through the local storage
    var a = {};
    a = JSON.parse(localStorage.getItem('session'));

    alert(a);
});

如您所见,我发出警报,我的输出是这样的:

{"21114":{"id":"21114","external_id":"","sessiongroupid":"1844","eventid":"5588","order":"0","name":"localStorage
 HTML5 Session","description":"localstorage","starttime":"2013-04-23
 12:00:00","endtime":"2013-04-23
 13:30:00","speaker":"","location":"","mapid":"0","xpos":"0.000000","ypos":"0.000000","maptype":"plan","imageurl":"","presentation":"","organizer":"0","twitter":"","allowAddToFavorites":"0","allowAddToAgenda":"0","votes":"0","url":"","venueid":"0"},"21115":{"id":"21115","external_id":"","sessiongroupid":"1845","eventid":"5588","order":"0","name":"tweede","description":"tweede","starttime":"2013-04-03
 00:00:00","endtime":"2013-04-04
 00:00:00","speaker":"","location":"","mapid":"0","xpos":"0.000000","ypos":"0.000000","maptype":"plan","imageurl":"","presentation":"","organizer":"0","twitter":"","allowAddToFavorites":"0","allowAddToAgenda":"0","votes":"0","url":"","venueid":"0"}}

现在我想搜索名称。有人可以帮我怎么做吗?

4

2 回答 2

2

简单地遍历对象

var json = JSON.parse(localStorage);

for(obj in json) {
    console.log(json[obj].name); //compare this with your "searchtext"
}

印刷

localStorage HTML5 Session
tweede

您可以简单地检查循环内部是否.name匹配您想要的任何内容并进行处理。

于 2013-04-22T12:06:38.457 回答
0

试试这个简单的代码

dataArray.filter(function(object) {
   return object.name == new RegExp('text to search', 'gi')
})

用您的密钥更改 .name 想要搜索

于 2018-05-29T16:57:04.967 回答