Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá rapaziada....
Tenho o seguinte script:
<script>
$(function () {
$("#marcaTodos").change(function(){
if (this.checked) {
$(".ch").attr({ checked: true });
} else {
$(".ch").attr({ checked: false });
}
});
$(".ch").change(function(){
$("#marcaTodos").attr({ checked: true });
});
});
</script>
<form action="" method="post">
<input type="checkbox" value="0" id="marcaTodos" name="opcao[]" style="margin-left: 30px;"/> <b>Grupo 1</b>
<input type="checkbox" class="ch" value="1" name="opcao[]" style="margin-left: 30px;"/> Opção 1
<input type="checkbox" class="ch" value="2" name="opcao[]" style="margin-left: 30px;"/> Opção 2
<input type="checkbox" class="ch" value="3" name="opcao[]" style="margin-left: 30px;"/> Opção 3
<input type="checkbox" class="ch" value="4" name="opcao[]" style="margin-left: 30px;"/> Opção 4
</form>
Funciona quase que beleza...a única coisa que não consegui fazer é , quando as opções 1,2,3 e 4 estiverem TODAS desmarcadas, desmarcar tbm o input do Grupo 1...entenderam?
Pq se eu seleciono o input Grupo 1 , vai marca todas as opções, que é o que quero, mas se eu for desmarcando as opções o input Grupo continua marcado...
Agradeço quem dar um help...
>
Veja se te ajuda http://forum.imasters.com.br/public/style_emoticons/default/seta.gif http://ogordo.com/selecionar-todos-checkboxes/
http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif
não mano, o meu faz o mesmo...o que quero é, quando todas as opções estiverem desmarcadas, que o checkbox, o que marca todos, tambem seja desmarcado...
>
>
Veja se te ajuda http://forum.imasters.com.br/public/style_emoticons/default/seta.gif http://ogordo.com/selecionar-todos-checkboxes/
http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif
não mano, o meu faz o mesmo...o que quero é, quando todas as opções estiverem desmarcadas, que o checkbox, o que marca todos, tambem seja desmarcado...
Não seria mais correto quando desmarcar ao menos 1 o "Desmarcar Todos" ficasse sem também? Porque como você propõe eu poderia marcar todos, depois desmarcar alguns e deixar só um marcado, e ainda ter o marcar todos selecionado, sendo que eu não tenho todos selecionados.
O Desmarcar todos iria se comportar da seguinte forma: Todos marcados -> também marcado, algum não marcado -> não marcado.
$(function(){
/*
* Quando alterar o "Marca Todos", marcar ou desmarcar os checkbox
*/
$("#marcaTodos").change(function(){
if (this.checked) {
$(".ch").attr({
checked: true
});
}
else {
$(".ch").attr({
checked: false
});
}
});
/*
* Se todos estiverem marcados, marca o "Marca Todos",
* caso contrário desmarca
*/
var listaCheckbox = $(".ch");
var checkboxCount = listaCheckbox.length;
listaCheckbox.change(function()
{
var todosMarcados = $(".ch:checked").length === checkboxCount;
$("#marcaTodos").attr({
checked: todosMarcados
});
});
});
Dá uma olhada nesse código, eu já testei e parece funcionar legal.Oi mano....obrigado pela ajuda, mas ainda não é isso....vou explicar melhor, erro meu nao ser claro suficiente.
Vamos, lá...que raios é esse sistema <_< , vcs devem esta se perguntando...
Estou desenvolvendo uma administração onde o admin tenha a opção de cadastrar outros usuários e dá permissões a este usuário de navegar SOMENTE nas páginas que o admin lhe permitir, entao nessa parte eu listo todas as opções das páginas, exemplo:
[]Configurações
[]Cadastrar usuários
[]Personalizer site
[]Alterar email padrão
[] Mídias
[]Video
[]Áudio
etc....
entao é o seguinte...se o admin for cadastrar o fulano, ele vai da permisão pra ele mexer só em 'Midias', entao ele deve marar 'Mídias' mais as opções: 'Audio e 'Video' ou, 'Audio' ou 'Video'...CASO ele desista, ele vai desmarcar as opções, MAS 'Midias' vai continuar marcado, sacaram :P ...e é isso que NAO quero...quero que se as opções estiverem desmarcadas, que 'Midias' seja desmarcada tbm...
Uffa...acho que fui mais claro...desculpem e obrigado...
bruno
consegui mano...value, você me deu uma força
var listaCheckbox = $(".ch");
var checkboxCount = $("input:checked").length;
listaCheckbox.change(function()
{
var todosMarcados = $(".ch:checked").length;
if(todosMarcados <= 0){
$("#marcaTodos").attr({ checked: false });
}
});
Veja se te ajuda http://forum.imasters.com.br/public/style_emoticons/default/seta.gif http://ogordo.com/selecionar-todos-checkboxes/
http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif