Как изменить одно значение внутри элемента localStorage? - PullRequest
4 голосов
/ 01 сентября 2011

Я пытаюсь изменить значение внутри хранилища.Этот пункт является статусом флажка.Я хочу, каждый раз, когда флажок установлен, чтобы установить значение true или false этого флажка.Я пробовал много способов, пока не понял, что нет способа изменить значение без использования JSON.

Чтобы добавить значение, которое я использую:

localStorage.setItem("status-" + i, $status.is(":checked"));

, а для удаления я использую:

var parentId = $this.parent().attr('id');
localStorage.removeItem("'" + parentId + "'");

Теперь, чтобы изменить значение, которое я попробовал:

$itemList.delegate("#status-" + i, 'click', function(e) {

                var $this = $(this);
                var parentId = this.parent().attr('id');            

                if ($this.is(":checked")) { 

                    localStorage.setItem("'" + parentId + "'".val("fdgsdagf"));
                    // Note that alert here works.

                }
});

Вот так выглядит мое локальное хранилище: Я надеюсь, что кто-то может мне помочь.Я работал над этим в течение нескольких дней ...

Большое спасибо

Ответы [ 2 ]

5 голосов
/ 01 сентября 2011

setItem принимает два параметра:

localStorage.setItem('status-1', "'" + parentId + "'".val("fdgsdagf"));

или более вероятно для вашего случая:

localStorage.setItem(parentId, "fdgsdagf");

Рекомендации:

localStorage.setItem('key', JSON.stringify(value));
JSON.parse(localStorage.getItem('key'));

Вот пример: http://jsfiddle.net/F8sF2/

РЕДАКТИРОВАТЬ: от вашей скрипки, вам нужно изменить:

var parentId = this.parent().attr('id');    

на

var parentId = $this.attr('id');    

ОБНОВЛЕНО http://jsfiddle.net/CC5Vw/1/

4 голосов
/ 01 сентября 2011

Попробуйте это

localStorage.setItem(parentId, "fdgsdagf");

localStorage - это не что иное, как объект JavaScript, вы можете рассматривать их как ассоциированный массив.Таким образом, вы можете использовать их следующим образом.

Чтобы установить значение

localStorage[parentId] = "fdgsdagf";

Чтобы получить значение

var status = localStorage[parentId];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...