Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Nany GTD

[Resolvido] toggleClass no Checkbox

Recommended Posts

Olá.

Estou tentando fazer com que a classe da tr onde está o checkbox altere, quando o mesmo estiver "checked".

 

No momento tenho o seguinte:

 

<script>
  $(document).ready(function(){
    $(".clicaMuda").click(function () {
      $("#checkMuda").toggleClass("highlight");
    });
  });
</script>

O id de minha tr é checkMuda e a classe do checkbox é clicaMuda

 

 

O problema que estou enfrentando, é que as "tr" são montadas dinamicamente, está funcionando apenas na primeira tr. Em qualquer checkbox que eu clicar (à partir da segunda tr) ele faz o toggle da classe apenas na primeira tr.

 

Imagino que cada tr deveria ter um id, teria como ele ser criado dinamicamente?

 

Obrigada desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, fiz aqui sem framework. Vê aí:

 

window.onload = function(){
	var table = document.getElementById("data"); // Altere aqui o ID da tabela
	var tr = table.getElementsByTagName("tr");
	var checks = document.getElementsByName("numbers"); //Altere aqui o NAME dos inputs[type="checkbox"]
	
	for(var i = 0; i < checks.length; i++){
		checks[i].onclick = function(){
			var tr = this.parentNode.parentNode;
			if(this.checked){
				tr.style.background = "#880005";
			} else{
				tr.style.background = "";
			}
		};
	}
};

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, fiz aqui sem framework. Vê aí:

 

window.onload = function(){
	var table = document.getElementById("data"); // Altere aqui o ID da tabela
	var tr = table.getElementsByTagName("tr");
	var checks = document.getElementsByName("numbers"); //Altere aqui o NAME dos inputs[type="checkbox"]
	
	for(var i = 0; i < checks.length; i++){
		checks[i].onclick = function(){
			var tr = this.parentNode.parentNode;
			if(this.checked){
				tr.style.background = "#880005";
			} else{
				tr.style.background = "";
			}
		};
	}
};

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

Olá Thiago,

Obrigada mais uma vez pela ajuda, funcionou certinho!

A única alteração que fiz, foi mudar de tr.style.background para tr.className.

 

Só fiquei com uma dúvida...

 

Se o nome do checkbox, ficar como estava no meu código name="<?php echo $item2['id_curso']; ?>" não funciona, pq? Não existe um jeito de "misturar"?

 

De qualquer maneira, coloquei isto em outro local, e está tudo funcionando, é só por curiosidade :P e para aprender mais ^_^ !

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.