Comment conserver la case à cocher cochée après le rechargement de la page?

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 ~