У меня есть приложение, которое считывает элементы, хранящиеся в localStorage, и отображает их в <li />
, когда страница «загружается».
Представление списка содержит кнопку разделения, при нажатии которой соответствующий элемент удаляется из списка; это часть того, к чему я стремлюсь, просматривая Интернет, я пытался найти способ, чтобы эта функция «удалить/удалить» ТАКЖЕ удаляет выбранный элемент внутри <li />
из localStorage, но по какой-то причине мой скрипт ниже кажется, удаляет случайные элементы.
$(document).ready(function () {
window.addEventListener('load', OnStorage, false);
});
function OnStorage(event) {
if (window.localStorage) {
var key, value;
// loop through local storage
for (var i = 0; i < localStorage.length; i++) {
// retrieve the key
key = localStorage.key(i);
// set the field from the key
value = localStorage.getItem(key);
$("#medListDiv").show();
var text = '<a href="#"><h2>' + value + '</h2>' + '<a href="#" class="del">Delete</a></a>';
$('<li />', {
html: text
}).appendTo('ul.medList');
}
$('ul.medList').listview('refresh')
}
}
//Deletes items from the medicine List
$('ul').on('click', '.del', function (el) {
$(this).closest('li').remove();
localStorage.removeItem(key); //Where problem relies
$('ul.medList').listview('refresh');
});
Я считаю, что это связано с тем, что key
является неправильным, но я не могу придумать, как заставить скрипт взять правильный ключ из выбранного элемента. Или если есть способ удалить элемент, взяв только значение? (Сомневаюсь, поскольку все, что я нахожу, можно сделать, только манипулируя ключом).
Пожалуйста, любые предложения будут высоко оценены.