Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Mostrar div dinamico con javascript Problema curioso ?

Estas en el tema de Mostrar div dinamico con javascript Problema curioso ? en el foro de Jquery en Foros del Web. que tal foreros? veran... para el sistema de comentarios que aplico en mi web estoy teniendo problemas a la hora de mostrar el formulario para ...
  #1 (permalink)  
Antiguo 31/01/2016, 19:12
 
Fecha de Ingreso: diciembre-2015
Mensajes: 115
Antigüedad: 8 años, 11 meses
Puntos: 2
Sonrisa Mostrar div dinamico con javascript Problema curioso ?

que tal foreros? veran... para el sistema de comentarios que aplico en mi web estoy teniendo problemas a la hora de mostrar el formulario para poder responder a comentarios que haya en un post cualquiera. el formulario de respuesta se carga dinamicamente bajo los comentarios de forma oculta(style: display none) y pues mi intencion es que al hacer click en la opcion 'responder' que tienen los comentarios, se muestre el formulario mediante el metodo sho(), el script que estoy aplicando es el siguiente:

<!-- Mostrar formulario para responder a los comentarios -->
<script type="text/javascript">
$(document).ready(function(){
//si el mouse esta sobre la barra etiqueta, se muestran las mismas
$("#responder").click(function() {
$('#formulario-respuesta').show('slow');
return false;
});
});
</script>

el script funciona y muestra el formulario, el problema está en que solo funciona con el primer comentario de cualquier post, es decir; si presiono responder... en el comentario que le sigue, o en el siguiente a ese. etc etc, no funciona :C tendra algo que ver con que el div es dinamico? alguien tiene alguna idea de como podria solucionarlo?
  #2 (permalink)  
Antiguo 31/01/2016, 21:04
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Mostrar div dinamico con javascript Problema curioso ?

Si es lo que creo, solo funciona con el primero porque estás colocando el mismo identificador a todos. Mejor utiliza una clase la cual sí puede repetirse. Y como son elementos creados dinámicamente, tienes que delegar el evento click al elemento que contiene a los botones o al documento mismo.

Un ejemplo suponiendo que los botones para comentar tienen por clase "activar" y los bloques de comentarios, la clase "comentario":
Código Javascript:
Ver original
  1. $(document).on("click", ".activar", function(){
  2.     $(this).parent().find(".comentario").show("slow");
  3. });

Y si quieres que con el mismo botón se oculte:
Código Javascript:
Ver original
  1. $(document).on("click", ".activar", function(){
  2.     $(this).parent().find(".comentario").toggle("slow");
  3. });

DEMO

Un saludo
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 02/02/2016, 09:45
 
Fecha de Ingreso: diciembre-2015
Mensajes: 115
Antigüedad: 8 años, 11 meses
Puntos: 2
Pregunta Respuesta: Mostrar div dinamico con javascript Problema curioso ?

Cita:
Iniciado por Alexis88 Ver Mensaje
Si es lo que creo, solo funciona con el primero porque estás colocando el mismo identificador a todos. Mejor utiliza una clase la cual sí puede repetirse. Y como son elementos creados dinámicamente, tienes que delegar el evento click al elemento que contiene a los botones o al documento mismo.

Un ejemplo suponiendo que los botones para comentar tienen por clase "activar" y los bloques de comentarios, la clase "comentario":
Código Javascript:
Ver original
  1. $(document).on("click", ".activar", function(){
  2.     $(this).parent().find(".comentario").show("slow");
  3. });

Y si quieres que con el mismo botón se oculte:
Código Javascript:
Ver original
  1. $(document).on("click", ".activar", function(){
  2.     $(this).parent().find(".comentario").toggle("slow");
  3. });

DEMO

Un saludo

aplicando las clases tienes razon, estas se repiten y me permite que el boton "responder" de todos los comentarios funcione, el detalle está ahora en que al clikearlo, sin importar cual sea, me muestrea el form de todos los comentarios

osea la idea es que: comentario donde se presione responder comentario al que le aparece un formulario abajo.

pero al ser el form cargado dinamicamente... cuando presiono responder en cualquiera de los comentarios; aparecen todos los formularios jaja un desmadre como imaginaras...

será que me estoy complicando mucho y simplemente pongo un solo form estatico para todos? me gustaba la idea de hacerlo como en un principio pero es que veo que esta jodido que aparezca solo el formulario correspondiente al comentario que se quiere responder, no se si habria una manera de poder hacerlo
  #4 (permalink)  
Antiguo 02/02/2016, 10:34
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Mostrar div dinamico con javascript Problema curioso ?

¿Y si lo haces como en el demo?

Es el mismo código del ejemplo, por lo que, lo que mencionas, quizá se deba a la estructura de tu HTML.
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 02/02/2016, 20:53
 
Fecha de Ingreso: diciembre-2015
Mensajes: 115
Antigüedad: 8 años, 11 meses
Puntos: 2
Respuesta: Mostrar div dinamico con javascript Problema curioso ?

no inventes no me habia fijado en esa demo... es justo lo que necesitaba lo aplique y salio perfecto! full gracias por la ayuda y paciencia man. Solucionado

Etiquetas: javascript, web+general
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 21:30.