Check box - habilitar e desabilitar com jquery
Boa tarde, estou criando uma listagem com checkbox que tenho aintenção de fazer o seguinte:
<strong>Exibir este banner em...</strong><br />
<div class="OpcoesPaginas">
<input name="qual_paginaA" id="qual_paginaA" type="checkbox" value="0" checked="true" /> Todas as páginas
<input name='qual_paginaB[]' id='qual_paginaB' type='checkbox' value='1' /> Home Web
<input name='qual_paginaB[]' id='qual_paginaB' type='checkbox' value='2' /> Sites
<input name='qual_paginaB[]' id='qual_paginaB' type='checkbox' value='3' /> Hospedagem
<input name='qual_paginaB[]' id='qual_paginaB' type='checkbox' value='4' /> Gestão de Conteúdos
</div>
É um esquema que se estiver selecionado a opção todas as páginas ela desabilita os demais checks que estiverem habilitados e se eu der um check em qualquer um das outras opções ele teria que desabilitar o Todas as páginas...
Bom, eu consegui criar o que desabilita todos os checks quando clico na opção Todas as páginas
$("#qual_paginaA").change(function(){$("#qual_paginaB:checked").removeAttr('checked');});
Porém quando aplico o outro código para se eu selecionar qualquer check diferente apenas o primeiro está desabilitando o check do todas as páginas....
$("#qual_paginaB").change(function(){$("#qual_paginaA").removeAttr('checked');});
Não sei onde estou errando, porém tenho que manter o mesmo id para os checks adicionais, visto que uso um código php para carregar as páginas criadas e não teria como ter um id diferente para cada um para conversar com o jquery, de uma forma que eu não limite, pois quero que esta ação seja possivel com 2 ou 1.000 páginas. Imagina prever isto e depois ter que refazer para ajustar.
Se alguém souber o que está faltando para funcionar ou possuir uma solução diferente e de código limpo agradeço, já não sei mais como pesquisar este problema.
Achei a solução então vou deixar a mesma aqui.
/desmarcando seleção principal/
$("input[type=checkbox]").click(function(){
var ql_check = $(this).val();
if(ql_check=="0"){$("#qual_paginaB:checked").removeAttr('checked');}else{$("#qual_paginaA:checked").removeAttr('checked');}
});/desmarcando seleção principal/
Para quem utilizar mais de uma linha de check, acredito que você precisará utilizar regras para identificar pelo id de cada conjunto de check e terá os mesmos resultados.
Discussão (2)
Carregando comentários...