Problemas com CheckBoxList

26/06/2012

0

Eu tenho um CheckBoxList com cinco CheckBox. Sendo o último, chamado todos. O que passa é que, quando eu checar o Todos, os demais devem ser desabilitados(Unchecked) e se clico em qualquer outro, se o todos estiver checado, deve desabilitado. Fiquei ontem na empresa até 00:00h e não conseguimos. Eu resolvi criando dois separados, mas isso é o fim da picada. Como eu faço?
Pjava

Pjava

Responder

Posts

26/06/2012

Joel Rodrigues

PJava, sugiro fazer isso com Javascript (no exemplo abaixo, utilizei JQuery).
No aspx:
<div id=p1>
        <asp:CheckBoxList runat=server ID=chkTipo>
            <asp:ListItem Value=TODOS Text=Todos />
            <asp:ListItem Value=1 Text=Item 1 />
            <asp:ListItem Value=2 Text=Item 2 />
            <asp:ListItem Value=3 Text=Item 3 />
        </asp:CheckBoxList>
</div>


No js:
$(#p1  input[type=checkbox]).click(function () {
        if ($(this).val() == TODOS) {            
            $(#p1  input[type=checkbox]).attr(checked, );
            $(this).attr(checked, checked);
        }
        else {
            $(#p1  input[type=checkbox][value = TODOS]).attr(checked, );
        }
    });


Testei aqui e funcionou.
Boa sorte.
Responder

29/06/2012

Valter Furtado

Use jQuery.

Quando você usa o Checkboxlist, radiobuttonlist... ele faz uma estrutura de tabela, tipo:
< table id= seuID >
< tr >
<td >check</ td>
< /tr>
< tr >
<td >check</ td>
< /tr>
< tr >
<td >check</ td>
< /tr>
< /table >

Logo, se você fizer um jQuery ou javascript normal, e colocar um click no check TODOS com uma função e na função especificar que dentro de seuID ele deve marcar todos os inputs : checkbox

Vai dar certo, já fiz do tipo...
Marcar todos Desmarcar todos
E passo o ID da tabela...
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar