Eu tenho um monte de caixas de seleção como esta. Se a caixa de seleção "Check Me" estiver marcada, todas as outras 3 caixas de seleção devem estar ativadas, caso contrário, elas devem ser desativadas. Como posso fazer isso usando o jQuery?
<form name="frmChkForm" id="frmChkForm">
<input type="checkbox" name="chkcc9">Check Me
<input type="checkbox" name="chk9[120]">
<input type="checkbox" name="chk9[140]">
<input type="checkbox" name="chk9[150]">
</form>
$(this).change
o evento click da primeira caixa de seleção..prop()
vez de.attr()
.Esta é a solução mais atualizada.
Aqui estão os detalhes de uso para
.attr()
e.prop()
.jQuery 1.6+
Use a nova
.prop()
função:jQuery 1.5 e abaixo
A
.prop()
função não está disponível, então você precisa usar.attr()
.Para desativar a caixa de seleção (configurando o valor do atributo desativado), faça
e para ativar (removendo completamente o atributo) faça
Qualquer versão do jQuery
Se você estiver trabalhando com apenas um elemento, será sempre mais rápido de usar
DOMElement.disabled = true
. O benefício de usar as funções.prop()
e.attr()
é que elas operarão em todos os elementos correspondentes.ref: Definindo "marcado" para uma caixa de seleção com jQuery?
fonte
Com funcionalidade adicional para garantir que todas as caixas de seleção sejam marcadas / desmarcadas se todas as caixas de seleção individuais estiverem marcadas:
fonte
Aqui está outro exemplo usando o JQuery 1.10.2
fonte
fonte
fonte