J'utilise le plugin checkboxTree en relation avec le cookie plugin pour jquery. Mon problème est, je voudrais mettre/désactiver tous les cookies des enfants (de l'en-tête) quand une case à cocher avec la classe "en-tête" a été cliquée. Comment puis-je faire cela? Voici mon code .js:Jquery chechboxTree et Cookie plugin - Problème avec les enfants
// When page has loaded, check each checkbox if it's checked (set cookie) or not (unset cookie)
$(".tree input:checkbox").each(function(){
var elementId = this.id;
// Check if a cookie of the element exists
if($.cookie(elementId)){
// If so, change attribute to checked
$(this).attr("checked", "checked");
}else{
// If not, change attribute to not checked
$(this).attr("checked", "");
}
});
$(".tree input:checkbox").change(function(){
if($(this).attr("class") == "header"){
if($(this).is(":checked")){
setCookie(this.id);
// Set cookie for all children
}else{
unsetCookie(this.id);
// Unset cookie for all children
}
}else{
if($(this).is(":checked")){
setCookie(this.id);
}else{
unsetCookie(this.id);
}
}
});
function setCookie(element){
$.cookie(element, "checked");
}
function unsetCookie(element){
$.cookie(element, null);
}
$('.tree').checkboxTree({
onCheck: {
node: 'expand'
},
onUncheck: {
node: 'collapse'
},
collapseImage: '../media/images/icons/minus.png',
expandImage: '../media/images/icons/plus.png'
});
Et voici mon code html:
<div id="filterTree">
<ul class="tree">
<li><input type="checkbox" id="Human Ressources" class="header">Human Resources
<ul>
<li><input type="checkbox" id="Finance">Finance
<li><input type="checkbox" id="Personnel">Personnel
<li><input type="checkbox" id="Post Office">Post Office
<li><input type="checkbox" id="House Service">House Service
<li><input type="checkbox" id="Reception">Reception
</ul>
</ul>
</div>
Quelle est votre erreur ? Et le dernier attribut de l'objet ne devrait pas avoir de "," après. –
Je ne reçois pas d'erreur. Jusqu'à ici, ça fonctionne très bien, mais je voudrais mettre/désactiver tous les cookies enfants quand un en-tête a été cliqué. "Définir des cookies pour tous les enfants" il devrait y avoir une fonction, qui définit tous les cookies pour les enfants. Et dans "Développer cookie pour tous les enfants" le même mais non réglé et non défini. –
Lorsque l'en-tête a été changé en "cochée", j'aimerais ajouter les cookies suivants: Finances, Personnel, Bureau de poste, Service de la maison et Réception. Lorsque l'en-tête est passé à "non coché", je souhaite supprimer ces cookies. Mais je ne sais pas comment puis-je obtenir tous les enfants et mettre/désactiver pour chaque enfant le cookie. Comprenez-vous ce que je veux dire? –