Ir para conteúdo
Fórum Script Brasil
  • 0

Verificar se checkbox está selecionado


vini_loock

Pergunta

Olá.

Estou precisando verificar se um checkbox está selecionado, mas não está dando certo.

$('td').click(function(){
        if($(this).parent().find("input").attr('checked') == true){
            $(this).parent().find("input").attr('checked', false);
        }else{
            $(this).parent().find("input").attr('checked', true);
        }
    });

A ideia é que ao clicar em uma coluna da tabela, ele volte para a linha e peque um input radio ou checkbox que está dentro de uma td, isso ele já está fazendo.Mas o problema está quando clica-se de novo, que era para desmarcar, mas nada acontece.

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

um exemplo ae

function valida_chk(){

    var campo = document.forms[0];
    var cont = 0;

    for (i = 0; i < campo.elements.length; i++){
        tipocampo = campo.elements[i].type;
        if (tipocampo == 'checkbox'){
            if (campo.elements[i].checked == true){
                cont++;
            }
        }
    }

    if (cont == 0)
        msg = 'Selecione pelo menos uma opção';
    else
        msg = 'Selecionados (qtd): ' + cont;

    alert(msg);

    if (cont == 0)
        return false;
    else
        return true;
}
<form action="pagina.asp" method="post" name="frm1" onSubmit="java script: return valida_chk();">
	<input type="checkbox" name="chk1" value="0" />0<br />
	<input type="checkbox" name="chk2" value="1" />2<br />
	<input type="checkbox" name="chk3" value="2" />3<br />
	<input type="checkbox" name="chk4" value="3" />4<br />
<input type="submit" name="sbm1" value=">>" />
</form>

Link para o comentário
Compartilhar em outros sites

  • 0

Vini, você está usando jquery né? Saco bastante de mootools(outro framework), mas me dei o trabalho de olhar a doc do jquery pra te responder xD

Tente assim:

$('td').click(function(){
    $(this).parent().find("input").click();
});

Editado por fiote
Link para o comentário
Compartilhar em outros sites

  • 0

Vlaew vocês 2, mas eu consegui resolver ainda d uma terceira forma.

Eu acho que a jquery não retorna true ou false com esse metodo, então peguei o id para trabalhar com ele pelo js msmo.

Ficou assim:

$('tbody td').click(function(){
        if($(this).parent().find("input").attr('type') == 'checkbox'){
            var id = $(this).parent().find("input").attr('id');
            if(document.getElementById(id).checked == true){
                document.getElementById(id).checked = false;
            }else{
                document.getElementById(id).checked = true;
            }
        }else{
            $(this).parent().find("input").attr('checked', true);
        }
    });

Vlw.

Link para o comentário
Compartilhar em outros sites

  • 0

Vini, a minha opção não precisa de true ou false (tinha um IF ali errado que eu deletei).

Ela simplesmente vai ativar o evento click do checkbox sempre que você clicar na sua td. E como é que o checkbox funciona? Se ele está desmarcado e você clicar, ele fica marcado. Se ele está marcado e você clicar, ele desmarca... mas você não precisa se preocupar com isso.

O $(this).parent().find("input").click(); "finge" um click no checkbox, alternando seu status.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,9k
×
×
  • Criar Novo...