2017-09-20 5 views
0

Comment ajouter/supprimer des données de datalist via jquery avec ajouter et supprimer le bouton? Sera-t-il également possible de stocker datalist dans localstorage?Onclick ajouter/supprimer des données de datalist dans localstorage

* La raison en est que cela va être par utilisateur-entrée-datalist. un peu comme "tapez-le une fois et stockez-le"

S'il vous plaît, aidez, Merci d'avance.

+1

est SO pas un service de codage gratuit. Vous devez essayer de résoudre le problème vous-même. Si vous ne pouvez pas le faire fonctionner, postez ce que vous avez essayé et nous vous aiderons à le réparer. Vous devriez être capable de le faire en utilisant $ ("# datalistid"). Append() 'pour ajouter, et' $ (option) .remove() 'pour le supprimer. Et vous pouvez obtenir toutes les informations d'option dans un tableau, le convertir en JSON, et le stocker dans le stockage local. – Barmar

+0

Merci pour la réponse @Barmar, cela devrait me donner une idée pour commencer. – JCprog

+0

@Barmar J'ai jusqu'ici [JSFIDDLE] (https://jsfiddle.net/JCprog/115Lsk7L/5/), je suis arrivé à l'endroit où il ajoute à la liste mais quand je rafraîchis la liste disparaît, aucun conseil? – JCprog

Répondre

0

Juste au cas où quelqu'un d'autre veut accomplir la même méthode, voici comment je parviens à retirer ceci: (s'il y a une meilleure ou de manière efficace s'il vous plaît partager :)

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 = datarray.indexOf(titleValue); 
    if (i > -1) { 
    datarray.splice(i, 1); 
    } 
    localStorage.setItem("list_data_key", JSON.stringify(datarray)); 
    datapost(); 
    show(); 

    $('#listxt').val(''); 
} 

function insert() { 
    var titleValue = document.getElementById('listxt').value; 
    datarray[datarray.length] = titleValue; 
    // store array to localstorage 
    localStorage.setItem("list_data_key", JSON.stringify(datarray)); 
    show(); 
    $('#listxt').val(''); 
} 

function show() { 
    var content = "<b>All Elements of the Arrays :</b><br>"; 
    for (var i = 0; i < datarray.length; i++) { 
    content += datarray[i] + "<br>"; 
    } 
    document.getElementById('display').innerHTML = content; 
    datapost(); 
} 

function datapost() { 
    var options = ''; 
    for (var i = 0; i < datarray.length; i++) 
    options += '<option value="' + datarray[i] + '" />'; 
    document.getElementById('bankit').innerHTML = options; 
} 

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

JSFIDDLE

0

utilisation peut utiliser les fonctions de clic jQuery et localStorage.setItem() avec localStorage.removeItem(), voici un lien avec plus d'informations sur WebStorage si vous êtes intéressé ... https://www.w3schools.com/html/html5_webstorage.asp

HTML:

<button id="add">Add</button> 
<button id="delete">Delete</button> 

jQuery:

$('#add').click(function() { 
    localStorage.setItem("foo", "bar"); 
}); 

$('#delete').click(function() { 
    localStorage.removeItem("foo"); 
}); 
+0

Merci pour la réponse @iPzard, j'ai combiné toutes les informations que j'ai reçues et j'ai obtenu ceci pour travailler jusqu'à présent [JSFIDDLE] (https://jsfiddle.net/JCprog/115Lsk7L/5/) mais il semble que la liste disparaisse quand je me rafraîchis le navigateur. – JCprog