vini_loock Postado Julho 26, 2011 Denunciar Share Postado Julho 26, 2011 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fercosmig Postado Julho 28, 2011 Denunciar Share Postado Julho 28, 2011 um exemplo aefunction 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> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fiote Postado Julho 29, 2011 Denunciar Share Postado Julho 29, 2011 (editado) 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 xDTente assim:$('td').click(function(){ $(this).parent().find("input").click(); }); Editado Julho 29, 2011 por fiote Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 vini_loock Postado Julho 29, 2011 Autor Denunciar Share Postado Julho 29, 2011 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fiote Postado Julho 29, 2011 Denunciar Share Postado Julho 29, 2011 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
vini_loock
Olá.
Estou precisando verificar se um checkbox está selecionado, mas não está dando certo.
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
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.