Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/11/2011, 08:12
jdangosto
 
Fecha de Ingreso: julio-2006
Mensajes: 21
Antigüedad: 17 años, 9 meses
Puntos: 0
Pregunta Problema al eliminar un <tr>

Hola a todo@s.
Tengo un problemilla con unas funciones y ya no se cómo solventarlo.
El caso es que utilizo una funcion js para agregar filas a una tabla, y luego ejecuto una funcion .post para insertarlos en una BBDD. El código es el siguiente:
Código:
$(document).ready(function(){
   fn_eliminar();
  
});

function fn_agregar(){
    cadena = "<tr>";
    cadena = cadena + "<td>" + $("#cod_barras").val() + "</td>";
    cadena = cadena + "<td>" + $("#descripcion").val() + "</td>";
    cadena = cadena + "<td>" + $("#unidades").val() + "</td>";
    cadena = cadena + "<td>" + $("#precio_venta").val() + "</td>";
    cadena = cadena + "<td>" + $("#Marca").val() + "</td>";
    cadena = cadena + "<td id='subtotal'>" + $("#unidades").val() * $('#precio_venta').val() + "</td>";
    cadena = cadena + "<td><a class='elimina'><img src='delete.png' style='cursor:pointer;' /></a></td></tr>";
    document.getElementById('codigo_articulo').focus();
    
        $("#tabla").append(cadena);
            //enviamos los valores para insertarlos en la tabla tmp_art_ventas
            $.post("insertaTMP.php", {
                    id_articulo: $("#cod_articulo").val(),
                    cant_articulos: $("#unidades").val(),
                    descripcion: $("#descripcion").val(),
                    precio: $("#precio_venta").val(),
                    iduser: $("#iduser").val()
                    });
        
};
Esta función, va a la perfección.
Luego tengo declarada otra función para eliminar filas de la tabla, la función sería la siguiente:
Código:
function fn_eliminar(){
    $("a.elimina").click(function(){
        id = $(this).parents("tr").find("td").eq(0).html();
        respuesta = confirm("Desea eliminar el articulo: " + id);
        if (respuesta){
            $(this).parents("tr").fadeOut("normal", function(){
            $(this).remove();
	    //ejecutamos la consulta para que elimine de la BBDD
		$.post("deleteTMP.php",{
		iduser: $("#iduser").val(),
		cod_articulo: $("#cod_articulo").val()
            });
            })
        }
    });
};
Bien, ambas funciones funcionan, pero no como yo quisiera.
El caso es que cada vez que intento eliminar uno de las filas de la tabla me pide la confirmación, tantas veces como filas me queden en la tabla, y además, cuando ejecuta la consulta para eliminarlo de la BBDD, el cod_articulo siempre es el del último artículo que he agregado a la tabla.

Qué estoy haciendo mal?

Desde ya GRACIAS!