définir un cookie jQuery pour chaque case à cocher

J’ai une simple fonction jQuery qui bascule les classes en fonction des états de case à cocher. Voici le code:

jQuery:

$('input[name$="bg-noise-option"]').click(function(){ var targetClass = $(this).data('at'); $('.' + targetClass).toggleClass('bg-noise'); }); 

HTML:

  

Question: Comment créer un cookie pour chaque case cochée? J’essaie simplement de donner à ces cases un peu de mémoire … pas sûr de la meilleure façon.

Je soupçonne qu’un certain type de .each(function) devrait le faire, mais je suis toujours assez novice en javascript. J’ai essayé ce qui suit:

 $.each(function(){ $.cookie('bg-noise-cookie', $(this).data('at'), {expires:365, path: '/'}); }) 

Mais bien sûr, cela ne crée qu’un seul cookie pour la dernière case cochée. Comment créer un cookie unique pour chacun? Ou est-ce que j’en ai même besoin? Peut-être y a-t-il un moyen de les stocker dans un cookie (un tableau?), Puis de simplement référencer le tableau au chargement de la page pour cocher les cases à cocher?

Beaucoup obligé pour la perspicacité.

Cela suppose que vous utilisez le plug- in JQuery Cookie , puisque je vois que vous l’avez mentionné dans votre question.

Vous voilà. Crée et modifie un seul fichier de cookie à chaque clic de case à cocher, en ne stockant que les valeurs de données correspondant aux cases cochées.

Lors du chargement de la page, il récupère cette chaîne JSON, la recouvre en un object, puis effectue une boucle en appliquant une vérification à la case de tout atsortingbut correspondant.

Code testé et fonctionne.

HTML: J’ai ajouté ‘[]’ à vos cases à cocher pour les regrouper correctement et j’ai supprimé toutes les cases cochées par défaut.

 

JQuery: utilisation du plugin $ .cookie ()