Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá!
Estou com um problema ao checar todos os checkboxs de um formulário.
Estou usando essa função para marcar / desmarcar todos os checkboxs:
var checkflag = "false";
function check(field) {
if (checkflag == "false") {
for (i = 0; i < field.length; i++) {
field[i].checked = true;
}
checkflag = "true";
return true;
} else {
for (i = 0; i < field.length; i++) {
field[i].checked = false;
}
checkflag = "false";
return true;
}
}
E no body eu estou fazendo uma busca no banco, e a cada registro adiciono um checkbox:
<-- Para marcar / desmarcar todos os checkboxs -->
<input type="checkbox" name="marcar" value="tudo" onClick="check(this.form.checks);" />
<-- E a cada registro do banco crio um novo checkbox -->
<input name='checks[<?=$aux?>]' type='checkbox' id='checks' value="<?=$linha->getCpf()?>" />
Isso está funcionando perfeitamente.
O problema é quando eu quando utilizo um if para exibir ou não o checkbox:
<? if ($linha->getStatus() == 1){
echo "<input name='checks[".$aux."]' type='checkbox' id='checks' value=".$linha->getCpf()." />";
} else { ?>
<img src="../img/icone_enviado.jpg" width="20" height="20" />
<? } ?>
Quando algum checkbox não é exibido pela condição, a função para de funcionar, e não consigo encontrar o erro.
Não sei se consegui ser claro em relação ao problema, mas basicamente é isso... utilizo a função para marcar todos os checkbox e ela não funciona se algum checkbox não é exibido pela condição if.
Obs: Sei que tem php no código, mas como a função é em Javascript achei melhor abrir o tópico aqui.
Valeu desde já!
Carregando comentários...