Pergunta

Estou procurando a maneira como adicionar uma caixa de seleção no cabeçalho que suporta ou desmarcou toda a minha coluna de caixa de seleção da minha GirdView.

    <table class="grid">
    <th><input type="checkbox" name="chkall"/></th>
    <th>Name</th>
     <tr>
         <td>       
            <input type="checkbox" id="chkItem_1"/>
         </td>
         <td>
             Category 1
         </td> 
     </tr>
     <tr>
         <td>       
            <input type="checkbox" id="chkItem_2"/>
         </td>
          <td>
             Category 2
         </td>
     </tr>
</table>  
Foi útil?

Solução

column.For(x => Html.CheckBox("mycheckbox", new { @class = "foo" }))
    .DoNotEncode()
    .Header("<th><input type=\"checkbox\" id="chkHeader" /></th>");

E então você pode usar o jQuery para lidar com o evento de mudança da caixa de seleção do cabeçalho e verificar/desmarcar todos os outros:

$(function() {
    $('#chkHeader').change(function() {
        if ($(this).is(':checked')) {
            $('.foo').attr('checked', 'checked');
        } else {
            $('.foo').removeAttr('checked');
        }
    });
});

Outras dicas

O seguinte funcionou para mim:

column.For(x => Html.CheckBox('chkBox', x.Published)).Named('Published');
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top