【问题标题】:Retrieve localStorage values which start with certain words检索以某些单词开头的 localStorage 值
【发布时间】:2015-03-02 22:10:58
【问题描述】:

我正在存储一些localStorage项目如下:

var id = $(this).closest('.item').attr('data-id');
var title = $(this).closest('.item').attr('data-title');

var json ={"id":id,"title":title};
localStorage.setItem('clip ' +id, JSON.stringify(json));

给我……

键 ------------------ 值

剪辑 14014_life-ring ---------- {"id":"14014_life-ring","title":"生活 环"} 夹 14015_life-jacket -------- {"id":"14015_life-jacket","title":"救生衣"}

为了检索/显示特定值,我正在使用:

for ( var i = 0, len = localStorage.length; i < len; ++i ) {
json = localStorage.getItem( localStorage.key( i ) );

var result = JSON.parse(json);

list.append("<li><input type=\"hidden\" name=\"id[]\" value=\"" + result['id'] + "\"><input type=\"hidden\" name=\"title[]\" value=\"" + result['title'] + "\"></li>”);

//console.log(result);
}

这很好用,但我还想将一些其他更简单的项目(非 JSON)存储为单独的键/值,例如输入字段值(通过检测 keyup 事件),即姓名、电子邮件地址等。

如何编写上面的 for 循环,以便只显示以“clip”开头的键?

另外,我还希望能够只计算以“clip”开头的键,目前我只知道如何计算 all localStorage 项目的总数,这会在其他项目被存储...

$('.clip-total').html(localStorage.length);

有没有办法做到这一点?

【问题讨论】:

  • if(result.indexOf('clip') === 0) { totalBeginningWithClip++; continue; }

标签: jquery html storage local


【解决方案1】:
function showKeys(onlyClipKeys) {

    var totalBeginningWithClip = 0;

    for (var i = 0, len = localStorage.length; i < len; i++) {
        var key = localStorage.key(i);
        json = localStorage.getItem(key);
        console.log(key);
        var result = JSON.parse(json);

        if (onlyClipKeys) {

            if (key.indexOf('clip') === 0) {
                totalBeginningWithClip++;
                list.append("<li>" + result['id'] + " - " + result['title'] + "</li>");
            }
        } else {
            list.append("<li>" + result['id'] + " - " + result['title'] + "</li>");
        }

    }

    return totalBeginningWithClip;
}

结帐this fiddle

【讨论】:

  • 您好,感谢您的宝贵时间。我似乎无法让它工作? jsfiddle.net/2j58fp08/20
  • 这里仍然没有任何乐趣,在这个小提琴中使用了你的代码,但它不起作用:jsfiddle.net/ne0pw2eo/3
  • 查看我包含的小提琴
  • 我试过 Chrome、Safari 和 Firefox - 没有一个得到
  • 只是一个空的
猜你喜欢
相关资源
最近更新 更多
热门标签