2017-09-22 4 views
0

J'ai un tableau enregistré dans localstorage et essayant de supprimer un élément onclick en fonction de la valeur d'entrée. J'ai le code ci-dessous, mais je ne peux pas le faire fonctionner. S'il vous plaît aider, Merci à l'avance :)Suppression d'un élément dans le tableau du stockage local via la valeur d'entrée

var datarray = []; 

function deldata() { 

    // retrieve stored data (JSON stringified) and convert 
    var storedData = localStorage.getItem("list_data_key"); 
    if (storedData) { 
    datarray = JSON.parse(storedData); 
    } 


var titleValue = document.getElementById('listxt').value; 
// Find and remove item from an array 
var i = array.indexOf(titleValue); 
if(i != -1) { 
    array.splice(i, 1); 
} 
localStorage.setItem("list_data_key", JSON.stringify(datarray)); 
    datapost(); 
} 

jsfiddle

+0

vous n'utilisez pas la fonction 'deldata' ...? Et vous utilisez 'JSON.stringify (datarray)' mais en changeant 'data'. Repensez votre question et réessayez –

Répondre

0

changement

var i = array.indexOf(titleValue); 
if(i > -1) { 
    array.splice(i, 1); 
} 

à

var i = datarray.indexOf(titleValue); 
if(i > -1) { 
    datarray.splice(i, 1); 
} 
1

Regardez vos noms de variables.

function deldata() { 
    // retrieve stored data (JSON stringified) and convert 
    var storedData = localStorage.getItem("list_data_key"); 
    if (storedData) { 
    datarray = JSON.parse(storedData); 
    } 

    var titleValue = document.getElementById('listxt').value; 
    // Find and remove item from an array 
    var i = datarray.indexOf(titleValue); // HERE (was 'array') 
    if(i != -1) { 
    datarray.splice(i, 1); // HERE (was 'array') 
    } 
    localStorage.setItem("list_data_key", JSON.stringify(datarray)); 
    datapost(); 
}