2010-12-01 23 views
5

Para añadir filas Escribí el código como estela selección y eliminación de una fila

$('#tab1 tbody ').append('<tr id='+i+'><td>'+k+'</td><td>'+l+'</td><td>'+m+'</td></tr>'); 

en el fragmento anterior i es de valor global ..

Ahora bien, si estoy tratando de seleccionar fila recién añadido es no reconociendo .. para seleccionar escribí esto

$('#tab1 td').click(function(){ 
alert(i); 
$(this).parent().remove(); 
}); 

¿Ves algún error?

+3

@ nunca utilice los números de IDS y clases, no se puede ver el error directamente, pero puede dar resultados extraños mientras manimulate dom usando jquery o javascript – kobe

Respuesta

6

Creo que sus elementos td tienen identificaciones no válidas. La identificación no debe comenzar con los números. Intente anexar texto estático antes de i.

También usted tiene que utilizar .live() caso de obtener los elementos que se generan en js

$('#tab1 td').live("click", function(){ 
    alert(i); 
    $(this).parent().remove(); 
}); 
+0

Realmente gracias, lo intentaré y le informaré – Mihir

+0

ahora escribí como este $ ('# tab1 tr'). clic (función() { \t //alert(this.id); \t $ (this) .remove(); }); – Mihir

+0

pero esto no está dando la respuesta correcta – Mihir

4

Sólo se va a añadir el manejador click a los <td> elementos que existen cuando la línea .click() ejecuta.

Debe llamar a la función .live(), que agregará su controlador a todos los elementos que coincidan con el selector, sin importar cuándo fueron creados.

4

Cambio

$('#tab1 td').click(function(){ 

a

$('#tab1 td').live('click', function(){ 
4

que se agrega en tiempo de ejecución, por lo que debe utilizar en vivo en lugar de clic

http://api.jquery.com/live/

$('#tab1 td').live('click', function() { 
    alert(i); 
$(this).parent().remove(); 
}); 
Cuestiones relacionadas