实时搜索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想要搜索