Foros del Web » Programando para Internet » Javascript » Frameworks JS »

el id del boton es una variable cogida de base de datos

Estas en el tema de el id del boton es una variable cogida de base de datos en el foro de Frameworks JS en Foros del Web. Hola amigos, estoy empezando con jquery y ajax, llevo dos semanas atascado y necesito que me ayuden. ¿ Cómo hago referencia en jquery a un ...
  #1 (permalink)  
Antiguo 30/05/2010, 01:04
 
Fecha de Ingreso: enero-2010
Mensajes: 26
Antigüedad: 14 años, 3 meses
Puntos: 0
el id del boton es una variable cogida de base de datos

Hola amigos,

estoy empezando con jquery y ajax, llevo dos semanas atascado y necesito que me ayuden.

¿ Cómo hago referencia en jquery a un botón que he pulsado y cuyo id es variable(tomó su valor de una consulta de base de datos) ?

Muchas gracias.
  #2 (permalink)  
Antiguo 30/05/2010, 01:25
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Tema movido desde Ajax
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 30/05/2010, 11:02
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: el id del boton es una variable cogida de base de datos

con $(this)

Podes publicar tu funcion por favor?

ej:
Cita:
$(".botones").onclick(function(){

alert( $(this).attr("id") );
})
  #4 (permalink)  
Antiguo 05/06/2010, 01:30
 
Fecha de Ingreso: enero-2010
Mensajes: 26
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: el id del boton es una variable cogida de base de datos

Cita:
Iniciado por mayid Ver Mensaje
con $(this)

Podes publicar tu funcion por favor?

ej:
Hola mayid, perdón por el retraso estuve de viaje.

Mira mi script es el siguiente:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
<script src="jquery-1.4.2.js" type="text/javascript"></script>
<script>
$(document).ready(function(){
$("#boton").click(function(){
$.post("guardar_boton.php", $("#form1").serialize());
});

});
</script>
</head>

<body>
<?php

$conexion=mysql_connect("localhost","usuario","con traseña");

mysql_select_db("prueba_ajax",$conexion);
$result = mysql_query("select * from ajax",$conexion);
while ($row=mysql_fetch_array($result))
{
?>

<table width="50%" border="5" cellspacing="0" cellpadding="0">
<tr>
<td><form id="form1" name="form1" method="post" action="">
<table width="100%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td width="113"><input name="id" type="text" id="id" value="<?php echo $row['id']; ?>" /></td>
<td width="113"><input name="nombre" type="text" id="nombre" value="<?php echo $row['nombre']; ?>" /></td>
<td width="115"><input name="boton" type="submit" id="boton" value="<?php echo $row['gustos']; ?>" /></td>
</tr>
</table>
</form>
</td>
</tr>
</table>
<p>
<?php } ?>
</body>

Te explico, intento conseguir el efecto de Facebook cuando se pulsa el botón "Me gusta"..."Ya no me gusta".

Cuando envío los datos a la página "guardar_boton.php" sólo me hace el cambio con el primer elemento de la tabla el resto me los deja igual.

A ver si me puedes ayudar. Gracias !!!!
  #5 (permalink)  
Antiguo 05/06/2010, 09:33
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: el id del boton es una variable cogida de base de datos

Bueno, yo alguna vez hice esos botones. Pero no veo que en tu codigo haya nada que esté generando ese cambio en pantalla! Entiendo que estes enviando una variable por ajax para procesarla en lado servidor, pero en lado cliente también hay que generar un cambio!

Esto es lo que hice en uno de mis proyectos:

Cita:
/* ESTADO DE AMISTAD */
$("#seguir").click(function(){

var text = $(this).attr("class");

if (text == "amigos"){
$("#seguir").removeClass("amigos");
$.ajax({
url: "soles/sol_script.php?remover=<?php echo $quien; ?>",
async:true,
success: function(datos){
$("#seguir").text("ya no lo sigues [seguir?]")
$.jGrowl(datos);
}})// fin ajax

}

else{
$("#seguir").addClass("amigos");
$.ajax({
url: "soles/sol_script.php?quien=<?php echo $quien; ?>",
async:true,
success: function(datos){
$("#seguir").text("lo estas siguiendo [x]");
$.jGrowl(datos);
}})// fin ajax
}

}); // fin onclick seguir
Basicamente le pone y le quita una clase "amigos".

En PHP, imprimo por primera vez el estado de amistad así:

Cita:
$resultado=mysql_query("SELECT nombre, relaciones FROM usuarios WHERE id='$yo'");// or die (mysql_error());
$existe = mysql_fetch_row($resultado);
$relaciones = explode(",",$existe[1]);
if (in_array($_GET["id"], $relaciones)) {
echo ' <a href="#" id="seguir" class="amigos" title="Seguir a alguien te permite recibir sus publicaciones por mail. Mismo, si el te sigue, podran intervenir en la nube del otro reciprocamente, reciclando su imaginario.">lo estas siguiendo [x]</a>';
}
else{
echo ' <a href="#" id="seguir" title="Seguir a alguien te permite recibir sus publicaciones por mail. Mismo, si el te sigue, podran intervenir en la nube del otro reciprocamente, reciclando su imaginario.">Seguir a <i>'.$existe[0].'</i></a>';
}
Es decir, entro en base de datos, me fijo si ya hay amistad, y adjudico la clase "amigos" si la hay. Si no, no.

En CSS creo que no tengo definicion. Se trata de una clase para uso de javascript, no para definicion de estilo.

  #6 (permalink)  
Antiguo 05/06/2010, 12:14
 
Fecha de Ingreso: enero-2010
Mensajes: 26
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: el id del boton es una variable cogida de base de datos

Perdona no te puse dónde realizo el cambio.Lo hago en esta página, primero leo el valor y lo cambio por el contrario.


<?php
$nombre=$_POST['nombre'];
$id=$_POST['id'];

$conexion=mysql_connect("localhost","usuario","con traseña"); //para local

mysql_select_db("prueba_ajax",$conexion); //para local
$result = mysql_query("select * from ajax",$conexion);
while ($row=mysql_fetch_array($result))
{
if ($row['id']==$id)
{
if ($row['gustos']=="si")
{
$gustos="no";
} else {
$gustos="si";
}
$posicion=$row['id'];


$sql = "UPDATE ajax SET gustos='$gustos' WHERE id='$posicion'" ;
mysql_query ( $sql , $conexion);
}
}
?>


</head>

<body>

Con el primer elemento sí me funciona...¿puede ser que sólo ese elemento pertenezca a id=form1 ? Como verás genero un formulario para cada línea de la tabla.

Si le doy a cada id de formulario un valor distinto, ¿ cómo puedo saber en mi función de jquery a qué formulario me estoy refiriendo ? Ejemplo: $.post("guardar_boton.php", $("#form1").serialize()); //(para id form1= id del primer elemento )

$.post("guardar_boton.php", $("#form5").serialize()); //( para id form5=id del quinto elemento )

Muchas gracias.

Etiquetas: botones, variables
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 19:26.