实时搜索localstorage(在数组中搜索)

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

现在我想进行实时搜索。 关键是当您在文本框中键入时,您必须在localstorage中搜索与搜索框中的文本相等的内容。 所有与dissapears不匹配的数据。

$("#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"}} 

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

只需迭代对象即可

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

打印

 localStorage HTML5 Session tweede 

你可以简单地在循环内部检查.name匹配你想要的任何东西并进行处理。

试试这个简单的代码

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

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