Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/04/2014, 12:02
Avatar de stormearth
stormearth
 
Fecha de Ingreso: octubre-2013
Ubicación: Quito
Mensajes: 68
Antigüedad: 11 años, 1 mes
Puntos: 2
Seleccionar div correctamente en un for loop

Hola todos, con este script estoy tratando de cambiar la clase de un botón cuando le dan click. si da click en el puntaje, se "desactivan" los botones vote-up y vote-down.

Código:
<script>
	$(function(){
		$('.puntaje').click(function(){
			$('.vote-up').removeClass("btn-warning")
			$('.vote-down').removeClass("btn-warning")
		})
		$('.vote-up').click(function(){
			$(this).toggleClass("btn-warning")
			$('.vote-down').removeClass("btn-warning")
	});
		$('.vote-down').click(function(){
			$(this).toggleClass("btn-warning")
			$('.vote-up').removeClass("btn-warning")
	});
	});
</script>
El pequeño problema es que estoy usando un for loop de django para mostrar todos los posts, y no se como seleccionar el post en el cual está dando click el usuario en ese momento puesto que el for loop los pone a todos con la misma clase.

Este es el Html:
Código:
{% for post in posts %}
<div class = "control_votos">
<div class = "btn-group-vertical">
	<button type="button" class = "btn btn-default vote-up"> 
	   <span class="glyphicon glyphicon-chevron-up"></span>
	</button>
	<button type="button" class = "btn btn-default puntaje"> 
	  <h2 class = "numero_puntaje"> {{post.0.votos_positivos}} </h2>
	</button>
	<button type="button" class = "btn btn-default vote-down"> 
	    <span class="glyphicon glyphicon-chevron-down"></span>
	</button>
</div>
 {% endfor %}
Soy un poco novato en jquery, y es probable que la solución sea simple. Django crea un div "control votos" por cada post. Y luego tengo un montón de control_votos que efectivamente se cambian las clases cuando les doy click pero que si le doy click a un "vote-up" se apagan todos los "vote-down", si le doy click a un "vote-down" se apagan todos los "vote-up", no solo el del div en el que estoy trabajando.

El error es simple, pero no tengo mucha idea de como solucionarlo.

Última edición por stormearth; 02/04/2014 a las 12:04 Razón: formato