Suppression d'éléments dans le localStorage
Je suis en train de supprimer les éléments individuels de la localStorage. Je suis en utilisant le localStorage pour le stockage sélectionné les éléments de la liste dans la liste. J'ai attaché les cases à cocher pour supprimer les éléments sélectionnés de la localstorage. Mais quand je suis en supprimant les cases sélectionnées à son pas de supprimer correctement comme quand je choisis une case à cocher la suppression de deux ou trois éléments sont la suppression de la localStorage.
Code Html:
<!-- Favourites page -->
<div data-role="page" id="fav">
<div data-role="header" data-position="fixed">
</div>
<div data-role="content" class="ulDiv">
<ul data-role="listview" data-split-icon="minus" data-split-theme="d" data-filter="true"data-icon="false" data-filter-placeholder="Search" id="favoritesList">
</ul>
</div>
<div data-role="footer" data-position="fixed" class="my-footer">
</div>
</div>
Mon code Js:
$(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);
}
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');
});
}
vous êtes à la suppression de toutes les données dans le stockage local, je pense que c'est pourquoi ...
localStorage.clear(); est pour la suppression de tous les éléments de son travail bien, mais le problème est avec localStorage.removeItem();
où est vous HTML? et où est le code que vous allez fixer les locaux de stockage avec qui?
j'ai mis à jour mon code complet concernant le localstorage et Html.
toute aide ?
localStorage.clear(); est pour la suppression de tous les éléments de son travail bien, mais le problème est avec localStorage.removeItem();
où est vous HTML? et où est le code que vous allez fixer les locaux de stockage avec qui?
j'ai mis à jour mon code complet concernant le localstorage et Html.
toute aide ?
OriginalL'auteur Lucky | 2013-10-10
Vous devez vous connecter pour publier un commentaire.
essayez de supprimer des éléments de ce genre, retrait de local de stockage des éléments par leurs valeurs de clé
Voir ce Lien pour la lecture sur le stockage local.
Au début, je pensais que ce serait le problème, mais Il ne semble pas être le véritable moyen de retrait des clés.
Il fonctionne très bien pour moi dans chrome et safari. Voir ce plunker et frappé le bouton plus, puis choisissez supprimer la base de données tout en regardant les outils de dev, vous devriez voir les "paramètres" de la base de données à supprimer. PLUNKER
OriginalL'auteur Vinay Pratap Singh
Je pense que le problème est dans cette partie:
vous n'utilisez pas la bonne clé pour la suppression et le son parce que vous utilisez :
et
checked==[Object]==1
de sorte que vous pointezlocalStorage.key(1)
pour résoudre ce problème, vous pouvez à la fois utiliser
key=localStorage.key(some);localStorage.removeItem(key);
etlocalStorage.removeItem(some);
mais l'important est que vous devriez match, un index(première manière) ou une valeur de clé(la deuxième façon)' pour chaque case et je peux vous aider si j'ai le code complet (je pense encore il y a une partie de HTML ou de codes qui sont liés), elle aussi serait tellement bien si vous mettez un violon de vos codes)il n'est pas clair pour moi, voulez-vous supprimer les données des cases sélectionnées à partir du local de stockage?
et il y a un lien pour le supprimer que lorsque vous cliquez sur elle, les données de la sélection des cases de stockage de droit?
oui, je veux supprimer les cases sélectionnées
je peux faire un violon, mais le problème est avec les données.. je suis en utilisant xml et txt pour les données..pour la fabrication de violons pour ce son qu'un peu difficile
OriginalL'auteur ncm
localstorage.removeItem()
ne fonctionnent pas comme prévu. J'avais connu le même problème en essayant de gérer le localstorage éléments.Un travail autour de ce problème était de
set the local storage item to null
. Il a servi de mon but.Par exemple, si vous avez un localStorage élément nommé
test
puis effacer l'élément à utiliser :Même si cela peut ne pas être la bonne façon, j'étais allé bonkers sur cette question et ci-dessus, on a servi mon but.
A u essayez de définir l'état à null?
Hmm, avez-vous jamais comprendre le problème sous-jacent, vous avez eu? Je remarque que IE ne fonctionne pas pour certains comptes d'utilisateurs, même maintenant, parce que le navigateur n'a pas accès à son propre localStorage fichiers, qui semble étrangement absurde
Toujours à la recherche dans l'obscurité.. n'Ont pas trouvé la cause de ce problème particulier.
Je soupçonne sous-documenté les problèmes de navigateur basé sur les paramètres de sécurité et d'autres préférences.
OriginalL'auteur Roy M J
Suffit d'utiliser
localStorage.clear();
OriginalL'auteur Rasmus Bidstrup