Foros del Web » Programando para Internet » Jquery »

¿Como pasar valor dinámico de onclick a function?

Estas en el tema de ¿Como pasar valor dinámico de onclick a function? en el foro de Jquery en Foros del Web. Buenos días compañeros!! Soy un negado en JS, no hay forma de aprenderlo y no será porque no lo intento... Tengo una función de Jquery ...
  #1 (permalink)  
Antiguo 05/12/2015, 04:46
sidneyendis
Invitado
 
Mensajes: n/a
Puntos:
Exclamación ¿Como pasar valor dinámico de onclick a function?

Buenos días compañeros!!

Soy un negado en JS, no hay forma de aprenderlo y no será porque no lo intento...

Tengo una función de Jquery que funciona a la perfección para realizar la conocida función toggle, el problema que tengo es que hasta ahora eran elementos con id o class estática. Como estoy creando un sistema de comentarios, quiero que el div de respuesta de cada comentario tenga un id diferente para que evidentemente al pulsar el botón "responder" no se abran o cierren todos. Por lo tanto cargo el id del comentario mediante php y mysql y lo pongo como id del div oculto, de esta forma individualizo cada div de respuesta. El problema es pasar ese id a la función para que abra y cierre cada un de los div de respuesta de forma individual.

Os dejo un ejemplo de mi código en codepen: http://codepen.io/anon/pen/vLYjOP
Aquí he puesto el ejemplo de 3 botones de respuesta con 3 divs diferentes a abrir, pero al crear un bucle con php para que muestre cada comentario el número incrementaría y por ello necesito un sistema automatizado.

Espero que me ayuden! Ya lo he probado todo...

Muchas gracias por las posibles respuestas!
Un saludo muy grande!
  #2 (permalink)  
Antiguo 05/12/2015, 12:59
 
Fecha de Ingreso: noviembre-2015
Mensajes: 59
Antigüedad: 9 años
Puntos: 0
Respuesta: ¿Como pasar valor dinámico de onclick a function?

ya te respondi en la otra tema que pusiste en el foro la solucion a eso y respondiste lo que te pregunte, tienes tantos formularios de respuesta como comentarios y respuestas anteriores se publicaron. Si lo deseas hacer asi con la respuesta al otro tema ya tienes. Ya que quieres poner el formulario en la pagina seguido del comentario al que le diste responder te propongo esto.

declara el div donde esta el formulario con id responder en el lugar que desees de los comentarios

y dentro del elemento <a> el texto "responder" u "ocultar" ponlo dentro de un <span> para poner set el texto mas facilmente
Código:
$(document).ready(function(){  
    $('.responder').click(// utliza evento click
        function(e){ 
           if(!$(this).hasClass('activo')){ // la clase activo par saber que comentario tiene el formulario respuesta asignado
	            if($(this).siblings('#responder').length == 0){ siblings devuelve la lista de hermanos de un elemento en el DOM
	                  $('#responder')
	                  .slideUp(1)
	                  .prev().find('span').text('Responder')
	                  $('#responder').appendTo($(this).parent())                  
	            }
	            $('a.activo').removeClass('activo');	            
	            $('#responder')
                   .slideDown();
                   $(this)                
                   .addClass('activo')
                   .find('span')
                   .text('Cerrar');
                   e.preventDefault();
	        }    
            else{
		    $('#responder')
                    .slideUp();
                    $(this)               
                   .removeClass('activo')
                   .find('span')
                   .text('Responder');
                   e.preventDefault();
			}
            
        }); 
});
ESO TE DEBE FUNCIONAR , SI NO ES ASI PUBLICA QUE PASA.

Última edición por edel; 05/12/2015 a las 14:54 Razón: colocar el codigo dentro de etiqueta code

Etiquetas: onclick
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:15.