javascript - 实时搜索本地存储(在数组中搜索)

标签 javascript jquery arrays search object

这就是我所拥有的: enter image description here

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

$("#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 是否与您想要的任何内容匹配并处理它。

关于javascript - 实时搜索本地存储(在数组中搜索),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16146620/

相关文章:

java - 在 Java 中处理 String 数组元素

arrays - 我可以在 Perl 中命名一个匿名数组吗?

javascript - Vue.js:如何修复 'b-modal' 未在自定义组件中显示

javascript - 无法识别 Meteor.js 中的模板语法?

javascript - Requirejs 和浏览器内存管理

arrays - 向下转换数组长度和索引

javascript - 我们可以通过 Javascript 向任何 XHTML 标记添加任何属性吗?例如 <a title="text> 中的标题

php - $_POST 请求期间数据中断

c# - 服务器通过 jquery 发出警报响应