Wie löschen einzelnen Eintrag aus dem localStorage-dynamisch
Ich versuche, löschen Sie die einzelnen Elemente aus dem localStorage mit jquery. Hier bin ich das hinzufügen die Kontrollkästchen, um jedes Element in der listivew für die Beseitigung der aktuellen checkbox Elemente zu löschen localStorage-aber es funktioniert nicht richtig.
Aktualisierten Code:
$(document).ready( function() {
$("#section_list").on('click', 'a', function() {
var item = $(this).find('h2').text();
var desc = $(this).find('p').text();
var html = '<p></br><p class="description">' + desc + '</p>';
$('.addToFavoritesDiv').click(function() {
var url = $(location).attr('href');
if (!supportLocalStorage())
{
item = 'No support';
}
else
{
try
{
localStorage.setItem('autosave' + url, item + html);
}
catch (e)
{
if (e == QUOTA_EXCEEDED_ERR)
{
alert('Quota Exceeded');
}
}
}
});
});
$('#fav').click(function() {
fromStorage();
$("#favoritesList").listview('refresh');
});
$(document).on('click', '#edit', function() {
fromGetStorage();
});
});
function supportLocalStorage()
{
return typeof(Storage) !== 'undefined';
}
function fromStorage()
{
$("#favoritesList").empty();
$("#favoritesList").listview('refresh');
for (var i = 0; i < localStorage.length; i++) {
var url = localStorage.key(i);
var item = localStorage.getItem(url);
$("#favoritesList").append('<li id="add"><a href="' + url + '" style="text-decoration:none;color:black">' + item + '</a></li>').attr('url', url);
}
$("#favoritesList").listview('refresh');
}
function fromGetStorage()
{
$("#favoritesList").empty();
$("#favoritesList").append('<input type="checkbox" name="all" id="select" />Select all</br>');
$("#fav .ui-listview-filter").remove();
for (var i = 0; i < localStorage.length; i++) {
var url = localStorage.key(i);
var item = localStorage.getItem(url);
$("#favoritesList").append('<li id="add"><div><input type="checkbox" name="check" id="check"> <a href="' + url + '" style="text-decoration:none;color:black">' + item + '</a></div></li>').attr('url', url);
$("#favoritesList").listview('refresh');
}
$("#select").click(function(event){
event.stopPropagation();
});
$('#select').change(function() {
if($("#select").is(':checked')) {
$("#add #check").prop("checked", true);
$('#empty').on('click', function() {
localStorage.clear();
$("#favoritesList").listview('refresh');
});
}
else {
$("#add #check").prop("checked", false);
}
});
$("#add #check").click(function(event){
event.stopPropagation();
});
$("#add #check").change(function() {
var chkLength = $('input[name="check"]:checkbox').length;
var chkdLength = $('input[name="check"]:checkbox:checked').length;
if (chkLength == chkdLength)
{
$('#select').prop('checked', true);
$('#empty').on('click', function() {
localStorage.clear();
$("#favoritesList").listview('refresh');
});
}
else
{
$('#select').prop('checked', false);
}
$("#delete").on('click', function() {
var checked = $('#add #check:checkbox:checked');
var url = localStorage.key(checked);
localStorage.removeItem(url);
$("#favoritesList").listview('refresh');
$("#favoritesList").listview('refresh');
});
});
}
Vielen Dank im Voraus.
Sie waren in der Lage, eine Antwort zu finden? Ich habe das gleiche Problem beim löschen bestimmte Einträge aus einer listview von Favoriten.
InformationsquelleAutor Lucky | 2013-09-09
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Sie Boolesche Werte als Schlüssel? Es wird nicht funktionieren.
Sollte es sein :
oder
Sie speichern Objekt im localstorage? Ich dachte, wir können nur speichern string-Werte. Wie wärs einfach speichern Ids und löschen von Elementen, die durch Ihre ids.
ja, ich bin die Speicherung der Lieblings-Seiten im "localstorage". Ich bin in der Lage, löschen Sie alle Daten im localstorage mit "localStorage.clear()" aber ich bin nicht in der Lage, löschen Sie die einzelnen Elemente
können Sie Ihre Methode zum speichern von Daten.
InformationsquelleAutor Rameez
Wenn Sie denken über die numerische Taste, hier ist etwas, das scheint zu funktionieren.
Dann in einer Schleife durch die lokalen Speicher, um zu finden, was auch immer element, das Sie suchen (in diesem Fall der erste):
Nun, du hast die Schlüssel, die Sie benötigen, entfernen Sie es einfach mit:
InformationsquelleAutor brunouno