Bonjour,
Je modifie le style des cases à cocher en les masquant et en stylant le label.
HTML (simplifié) :
CSS:
jQuery :
J'arrive à cocher (changer le style) lors du clic sur un label non sélectionné (class="checkbox" devient class="checkbox-checked"), mais lorsque je clique une deuxième fois sur le label, la class d'est pas modifiée (elle devrait passer à "checkbox" à nouveau).
Une idée ?
Merci d'avance.
Je modifie le style des cases à cocher en les masquant et en stylant le label.
HTML (simplifié) :
<label>
<input type="checkbox">Premier choix
</label>
<label>
<input type="checkbox">Premier choix
</label>
<label>
<input type="checkbox">Premier choix
</label>
CSS:
label.checkbox, label.checkbox-checked {
display: inline-block;
vertical-align: middle;
cursor: pointer;
padding-left: 34px;
margin: 0.5rem 1.5rem 0.5rem 0;
line-height: 26px;
}
label.checkbox {
background: url(images/checkbox.png) no-repeat left center;
}
label.checkbox-checked {
background: url(images/checkbox-checked.png) no-repeat left center;
}
jQuery :
/* Adding classes to labels for styling */
jQuery ("label").has("input[type=checkbox]").addClass("checkbox");
jQuery ("label").has("input[type=checkbox]:checked").addClass("checkbox-checked");
/* Behaviour when clicking on checkbox labels */
jQuery("label.checkbox").on("click", function() {
jQuery(this).addClass("checkbox-checked");
jQuery(this).removeClass("checkbox");
})
jQuery("label.checkbox-checked").on("click", function() {
jQuery(this).addClass("checkbox");
jQuery(this).removeClass("checkbox-checked");
})
J'arrive à cocher (changer le style) lors du clic sur un label non sélectionné (class="checkbox" devient class="checkbox-checked"), mais lorsque je clique une deuxième fois sur le label, la class d'est pas modifiée (elle devrait passer à "checkbox" à nouveau).
Une idée ?
Merci d'avance.