Array
(
)

Problemas com CheckBoxList

Pjava
   - 26 jun 2012

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?

Joel Rodrigues
   - 26 jun 2012

PJava, sugiro fazer isso com Javascript (no exemplo abaixo, utilizei JQuery).
No aspx:
#Código

<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:
#Código
$(#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.

Valter Furtado
   - 29 jun 2012

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...