J'essaie d'ajouter une classe à une étiquette d'une case à cocher sur l'événement click de la case à cocher avec jQuery. J'appelle la fonction suivante après avoir récupéré le HTML pour les cases à cocher dans un appel ajax.Ajout d'une classe à une étiquette avec JQuery
function modDispTable() {
$("#disptbl :input").each(function() {
$(this).click(function() {
var lblid = $(this).attr("id") + "_lbl";
if ($(this).is(":checked")) {
$(lblid).addClass('chksel');
}
else {
$(lblid).removeClass('chksel');
}
});
});
}
Il y a plus de cases à cocher, mais le résultat HTML pour toutes les cases ressemble à ceci:
<label id="chk_sobomnifeat_lbl" name="chk_sobomnifeat_lbl" for="chk_sobomnifeat" class="radiolbl chkmod chkmod1">
<input id="chk_sobomnifeat" name="chk_sobomnifeat" value="chk" type="checkbox">
Sobella Omni Feature Display
</label>
En ce moment, tout ce que je suis en train de faire est d'appliquer une couleur de fond différente. Le CSS est dans un fichier qui est inclus avec la page.
.chksel {
background-color: #D3CEBE;
}
Je ne reçois aucune erreur. Le débogage dans Firebug me rend encore plus perplexe lorsque les événements click sont déclenchés, lblid
contient la bonne valeur d'id (celle du label), et la ligne addClass
est censée être exécutée.
Est-ce que quelqu'un a des idées pour lesquelles la classe ne s'appliquera pas? J'utilise JQuery 1.4.4.
Je devais choisir un soulignant ce petit moment facepalm du mien ... Merci à tous! – Buggabill