Ver Mensaje Individual
  #7 (permalink)  
Antiguo 11/10/2016, 18:46
X_fran
 
Fecha de Ingreso: octubre-2007
Mensajes: 273
Antigüedad: 16 años, 6 meses
Puntos: 5
Respuesta: Eliminar fila de tabla dinámica

Weno, buscando un poco he encontrado la solución óptima, se trata de aplicar el concepto de delegación de eventos (event delegation). Para mi caso en concreto, la respuesta del servidor a una acción de actualización de una tabla es un fragmento html que contiene los tr del tbody de la tabla, por tanto para que el evento asociado a las etiquetas a inlcuidas en las filas de la tabla se mantenga, se puede hacer de la siguiente manera:
Código:
$('#tablaDatos tbody').on('click', '.lnkEliminarRegistro', function(e){
  e.preventDefault();
  var url = $(this).attr('href');
  $.ajax({
                        'datatypes': 'html',
                        'type': 'GET',
                        'url': url,
                        beforeSend: function() {
                            $('#indicador').addClass('cargando-satisfactorio').fadeIn('fast');
                        }
                    }).done(function(data) {

                    }).fail(function(jqXHR) {
                        $('#indicador').removeClass('cargando-satisfactorio').addClass('cargando-error').html(jqXHR.responseText);
                    }).always(function(jqXHR, status) {
                        if (status !== 'success') {
                            $('#indicador').fadeOut(5500, function() {
                                $(this).removeClass('cargando-error').html("<span class='glyphicon glyphicon-time'></span> Cargando...");
                            });
                        } else {
                            $('#indicador').fadeOut('fast', function() {
                                $(this).removeClass('cargando-error').html("<span class='glyphicon glyphicon-time'></span> Cargando...");
                            });
                        }
                    });
                });
de esta manera al refrescar el contenido del tbody, se mantiene la asociación del evento.