Je ne parviens pas à conserver ma case cochée après l’actualisation de la page.
Pour ce faire, vous devez utiliser des cookies … Dès que l’utilisateur coche la case à cocher, enregistrez son état dans un cookie et récupérez simplement la valeur du cookie au chargement de la page pour prépouloter les cases à cocher telles qu’elles étaient dans la sélection précédente.
HTML
Récupérer la valeur des cases à cocher et en faire un cookie
var checkboxValues = {}; $(":checkbox").each(function(){ checkboxValues[this.id] = this.checked; }); $.cookie('checkboxValues', checkboxValues, { expires: 7, path: '/' })
Fonction permettant de lire les cookies à pré-remplir au chargement
function repopulateCheckboxes(){ var checkboxValues = $.cookie('checkboxValues'); if(checkboxValues){ Object.keys(checkboxValues).forEach(function(element) { var checked = checkboxValues[element]; $("#" + element).prop('checked', checked); }); } }
Travail du violon
Vous devez le faire côté serveur. Que ce soit avec PHP, ASP.NET ou ce que vous utilisez.
C’est la seule façon.
Ou , si votre site Web est uniquement côté client, vous devrez alors l’implémenter sans actualiser la page.
Voici comment je le fais:
onclick="getFileFromServer('write_ckfile.php?target=.cktest&value='+this.checked, function(text){ show_write(text)});"> cktest with php
cktest with ajax
et le fichier write_ckfile.php:
J’espère que ça aide. MiKL ~