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

Problema con .live()

Estas en el tema de Problema con .live() en el foro de Frameworks JS en Foros del Web. Tengo una llamada ajax a una consulta php : function listado(aplicacion) { $.ajax({ url: "consulta.php", cache: false, type: "POST", success: function(data) { $('#dtu').html(data); } }); ...
  #1 (permalink)  
Antiguo 11/09/2010, 09:30
 
Fecha de Ingreso: junio-2009
Mensajes: 5
Antigüedad: 15 años, 6 meses
Puntos: 0
Sonrisa Problema con .live()

Tengo una llamada ajax a una consulta php :

function listado(aplicacion) {

$.ajax({
url: "consulta.php",
cache: false,
type: "POST",
success: function(data) {
$('#dtu').html(data);
}
});
}


donde la respuesta ajax :
<tr class="dtu" id="<?php echo $listar[$i]['id'] ?>">
<td width="50"><?php echo $listar[$i]['cod'] ?></td>
<td width="500"><?php echo $listar[$i]['raz'] ?></td>
<td width="20"><?php echo $img ?></td>
</tr>


la inserto en un div del DOM con un id="dtu".
y se me muestran los registros de la consulta en modo <tr><td></td></<tr>

Hasta aqui todo me va correcto.

Para obtener el id de cada registro insertado en el DOM hago lo siguiente:

$('.dtu').live('click', function() {
$('.dtu').removeClass('seleccion_registro');
$(this).addClass('seleccion_registro');
sub_apli($(this).attr('id'));
});


Y aqui es donde me viene el problema que cuando se ejecuta la funcion "sub_apli" :

function sub_apli(id_reg) {

alert(" ha seleccionado el registro: " + id_reg);
});
}


A cada registro que le hago click me sale el alert mas todos los que anteriormente he clickeado, no se si me esplico....

quiero decir que hago click en el primer registro y me sale el alert con el id=0
clickeo en el segundo registro y me sale el alert con el id=0 ( le doy aceptar ) y seguidamente me sale otro alert con el id=1..... y asi sucesivamente a cada registro que hago click sumandose uno tras otro.

Y ahora la pregunta: ¿ Lo que quiero, es como hago para que simpre me muestre el ultimo click que se haga ?

Gracias de antemano.
  #2 (permalink)  
Antiguo 11/09/2010, 13:00
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años
Puntos: 126
Respuesta: Problema con .live()

Hola

Partiendo que no se nada de JQuery, pero por lo que entiendo, la lógica sería cambiar esto
Cita:
$(this).removeClass('seleccion_registro');
por esto otro
Cita:
$(this).removeClass('dtu');
Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #3 (permalink)  
Antiguo 11/09/2010, 13:56
 
Fecha de Ingreso: junio-2009
Mensajes: 5
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Problema con .live()

Gracias por responder pero la linea: $(this).removeClass('seleccion_registro'); solamente desactiva o quita un estilo css de un elemento o etiquita del DOM, de todos modos Gracias.
  #4 (permalink)  
Antiguo 11/09/2010, 15:00
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años
Puntos: 126
Respuesta: Problema con .live()

Hola
Cita:
Iniciado por okido Ver Mensaje
Gracias por responder pero la linea: $(this).removeClass('seleccion_registro'); solamente desactiva o quita un estilo css de un elemento o etiquita del DOM, de todos modos Gracias.
Sí, entendía lo que hacía. De cualquier modo me equivoqué, tal vez al copiar y pegar o algo. En realidad me refería a cambiar
Cita:
$('.dtu').removeClass('seleccion_registro');
por esto otro
Cita:
$(this).removeClass('dtu');
Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />

Etiquetas: jquery, live
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 08:55.