Il s'agit de la solution la plus récente.
<form name="frmChkForm" id="frmChkForm">
<input type="checkbox" name="chkcc9" id="group1" />Check Me
<input type="checkbox" name="chk9[120]" class="group1" />
<input type="checkbox" name="chk9[140]" class="group1" />
<input type="checkbox" name="chk9[150]" class="group1" />
</form>
$(function() {
enable_cb();
$("#group1").click(enable_cb);
});
function enable_cb() {
$("input.group1").prop("disabled", !this.checked);
}
Voici les détails d'utilisation de .attr()
et .prop()
.
jQuery 1.6+
Utilisez la nouvelle .prop()
fonction:
$("input.group1").prop("disabled", true);
$("input.group1").prop("disabled", false);
jQuery 1.5 et inférieur
La .prop()
fonction n'est pas disponible, vous devez donc l'utiliser .attr()
.
Pour désactiver la case à cocher (en définissant la valeur de l'attribut désactivé),
$("input.group1").attr('disabled','disabled');
et pour activer (en supprimant l'attribut entièrement) faire
$("input.group1").removeAttr('disabled');
Toute version de jQuery
Si vous travaillez avec un seul élément, il sera toujours plus rapide à utiliser DOMElement.disabled = true
. L'avantage d'utiliser les fonctions .prop()
et .attr()
est qu'elles fonctionneront sur tous les éléments correspondants.
// Assuming an event handler on a checkbox
if (this.disabled)
ref: Définir "coché" pour une case à cocher avec jQuery?