Bienvenido a datoweb.com!! En este foro podrás encontrar ayuda sobre diseño y desarrollo web en general. Si quieres formar parte de esta comunidad para pedir ayuda o colaborar ayudando a otros usuarios del foro solo tienes que registrarte desde el siguiente enlace: Registrarse en el Foro

Problema al Ocultar y mostrar elemento con jquery

Hola buenos días a todos.

Es una pregunta que la verdad si alguna persona milagrosa supiera responderla sería de muy utilidad para todos.
Ocultar y mostrar elementos con jquery es realmente muy sencillo... En este foro existe alguna anotación sobre este tema. Su uso es verdaderamente útil en algunas ocasiones.

El dilema que tengo yo es el siguiente:
Tengo un apartado de comentarios en cada producto. Nada los comentarios perfecto.
Pero me encantaría que pudieran responder a esos comentarios.
Para ello quisiera poner un boton responder en cada comentario (que oviamente estan en la misma página) y se abriera el el div del formulario para poder responder.

El caso esque lo pongo dentro del (do while) y el primer comentario perfecto se abre y se cierra... pero cuando pruebo el segundo comentario se me abre de nuevo el primero.... ¿alguien sabe xk sucede esto?
0
Puntos
4
Resp
604
Visitas
Por Mavericka3 hace 28 meses
Principiante offline

Respuesta #1

Perdón, supongo que cuando apretamos al boton (Responder) del segundo comentario el navegador empieza a leer desde arriba y abre el primero que se encuentra... ¿La pregunta era, Alguien sabe algun metodo para que esto no suceda?
0
Puntos
Por Mavericka3 hace 28 meses
Principiante offline

Respuesta #2

hola, es mejor que pongas solo un formulario dinámico fuera del bucle que saca los comentarios y pasar la id del registro que quieres comentar, prueba este ejemplo:
<script>
	function pasar_id(idcoment){
		document.getElementById('idcomentario').value=idcoment;
	}
</script>
<!--Inicio del bucle -->
<div class="comentario">
	Lorem ipsum dolor sit amet.
	<a href="javascript: pasar_id('1');">Responder</a>
</div>

<div class="comentario">
	Lorem ipsum dolor sit amet.
	<a href="javascript: pasar_id('2');">Responder</a>
</div>
<!--Fin del bucle -->
<br>
<form>
	Id del comentario: <br>
	<input type="text" name="idcomentario" id="idcomentario" value=""><br>
	<input type="submit" value="Comentar">
</form>
Demo
1
Puntos
Por alber hace 28 meses
Administrador offline

Respuesta #3

A ver, has probado la demo que te hice? en el código de arriba pasas la id de cada comentario al formulario que usas para comentar y si quieres abrir un flotante siempre vas a abrir el mismo pero cambiando la id del registro que quieres comentar..

Me da la sensación de que no me has entendido xd.. salu2
0
Puntos
Por alber hace 28 meses
Administrador offline

Respuesta #4

Buenas,
A mi me pasa exactamente igual, tengo una pagina de peliculas a la que quiero ponerle un SlideToggle a cada pelicula para que me salga una div con el titulo de la pelicula encima de la portada, el problema es que la portada la tengo en un bucle do while para que me la repita y me saque de la base de datos todas las portadas de las peliculas que tengo. El problema es que cuando ponga el raton encima de la primera portada me sale el titulo en todas las portadas no solo me hace la funcion en esa misma. Y cuando pongo el raton encima de la segunda no me interpreta el codigo..
Aqui le dejo el codigo que uso.
<?php require_once('Connections/conexion.php'); ?>
<script src="https://code.jquery.com/jquery-1.11.1.min.js"></script> 
<script src="https://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
<script type="text/javascript">
	$(document).ready(function(){
    $("#contenido_post").hover(function(){
    	$(".info").slideToggle('slow');
    });
});
</script>
<?php

//Consulta de la BD
mysql_select_db($database_conexion, $conexion);
$query_ListadoCartelera = "SELECT * FROM posts WHERE posts.cartelera = 1 ORDER BY posts.id DESC LIMIT 20";
$ListadoCartelera = mysql_query($query_ListadoCartelera, $conexion) or die(mysql_error());
$row_ListadoCartelera = mysql_fetch_assoc($ListadoCartelera);
$totalRows_ListadoCartelera = mysql_num_rows($ListadoCartelera);

?>
<?php if ($row_ListadoCartelera == "") {
	echo "No hay ninguna pelicula en cartelera";
} else { ?>
<?php do { ?>
  <div id="post_global">
    <div id="contenido_post"><a href="<?php echo $row_ListadoCartelera['seo']; ?>.html">
    <img src="inc/portadas/<?php echo $row_ListadoCartelera['portada']; ?>" width="157" height="250" /></a>
    <div class="info">
    	<?php $cortartittle = $row_ListadoCartelera['titulo']; 
	if ((strlen($cortartittle)) > 19) { $cortartittle=substr($cortartittle, 0, 29).".."; }
	echo $cortartittle; ?>
    </div>
    </div>
    </div>
  <?php } while ($row_ListadoCartelera = mysql_fetch_assoc($ListadoCartelera)); ?>

<?php }?>
<?php
mysql_free_result($ListadoCartelera);
?>
Yo creo que el problema está en el código de JAVASCRIPT pero no lo encuentro.
Si podrian ayudarme se lo agradeceria, un saludo!
0
Puntos
Por valentinchiflu hace 28 meses
Principiante offline Sitio web

Relaccionados

Para comentar Inicia sesión o Registrate