vini_loock Posted July 26, 2011 Report Share Posted July 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. Quote Link to comment Share on other sites More sharing options...
0 fercosmig Posted July 28, 2011 Report Share Posted July 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> Quote Link to comment Share on other sites More sharing options...
0 fiote Posted July 29, 2011 Report Share Posted July 29, 2011 (edited) 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(); }); Edited July 29, 2011 by fiote Quote Link to comment Share on other sites More sharing options...
0 vini_loock Posted July 29, 2011 Author Report Share Posted July 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. Quote Link to comment Share on other sites More sharing options...
0 fiote Posted July 29, 2011 Report Share Posted July 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. Quote Link to comment Share on other sites More sharing options...
Question
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 to comment
Share on other sites
4 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.