É comum as páginas de cadastro e de sistemas web terem vários checkboxs para marcação. Então logo será preciso utilizar uma função que seja possÃvel marcar ou desmarcar todos os checkboxs da tela.
O exemplo mais simples disso é sua caixa de email com aquela opção de marcar ou desmarcar todos os emails para executar uma ação em massa.
Então vamos ver uma das formas de se fazer isso usando o javascript abaixo:
function marcarTodos(opcao) {
var intCountChecks = document.forms[0].nome_do_checkbox.length;
if ( intCountChecks > 1 ) {
for ( var i = 0; i < intCountChecks; i++ ) {
if ( document.forms[0].nome_do_checkbox_que_chama_funcao.checked) {
document.forms[0].nome_do_checkbox[i].checked = true;
} else {
document.forms[0].nome_do_checkbox[i].checked = false;
}
}
} else {
// nao tem lista para dar check.
document.forms[0].nome_do_checkbox.checked = opcao;
}
}
Basicamente ele começa contando quantos checkboxs existem na tela, já que isso pode vir variável. Basta pensar no exemplo do email anterior. Se você apagou 10 emails, serão 10 caixas a menos para marcar.
Depois ele verifica, se está marcado, então irá desmarcar, e vice-versa. No final ele executa a mesma ação só que para um único registro, caso não haja uma lista de checkboxs a percorrer.
Sem muito mistério é isso. Basta criar agora um checkbox do tipo [ ] marcar todas, e chamar a função marcarTodos(this).
Sucesso!
Loading...