To jest najbardziej aktualne rozwiązanie.
<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);
}
Oto szczegóły użycia dla .attr()i .prop().
jQuery 1.6+
Użyj nowej .prop()funkcji:
$("input.group1").prop("disabled", true);
$("input.group1").prop("disabled", false);
jQuery 1.5 i poniżej
.prop()Funkcja nie jest dostępna, więc trzeba użyć .attr().
Aby wyłączyć pole wyboru (ustawiając wartość atrybutu disabled), wykonaj
$("input.group1").attr('disabled','disabled');
i do włączenia (poprzez całkowite usunięcie atrybutu) zrobić
$("input.group1").removeAttr('disabled');
Dowolna wersja jQuery
Jeśli pracujesz tylko z jednym elementem, zawsze będzie on najszybszy w użyciu DOMElement.disabled = true. Zaletą korzystania z funkcji .prop()i .attr()jest to, że będą działać na wszystkich dopasowanych elementach.
// Assuming an event handler on a checkbox
if (this.disabled)
ref: Ustawienie „zaznaczone” dla pola wyboru w jQuery?