Actualización DataTable después de un remove() hecho

He hecho una fila remove() y entonces traté de fnDestroy() e inicializar de nuevo el DataTable. El número de registro y la paginación no efectuada(El *DataTable no se actualiza)*.

También he intentado usar fnDraw() pero todavía no uso.

He mirado en la página de origen y la fila eliminada html todavía está allí.

Estoy usando Ajax para eliminar la fila. Agradezco su ayuda

Este es mi secuencia de comandos de eliminación:

$(document).ready(function()
        {
            $('table#sample_1 td a.delete').click(function()
            {
                if (confirm("Are you sure you want to delete this row?"))
                {
                    var id = $(this).parent().parent().attr('id');
                    var data = 'id=' + id ;
                    var parent = $(this).parent().parent();

                    $.ajax(
                    {
                           type: "POST",
                           url: "process.php",
                           dataType: "json",
                           data: data,
                           cache: false,

                           success: function()
                           {

                            var dtable = $('#sample_1').dataTable();
                        dtable.fnDestroy();


                        parent.fadeOut('slow', function() {$(this).remove();});


                        //Reinitialize the datatable
                        $('#sample_1').dataTable({
                                    "sDom": "<'row-fluid'<'span6'l><'span6'f>r>t<'row-fluid'<'span6'i><'span6'p>>",
                                    "sPaginationType": "bootstrap",
                                    "oLanguage": {
                                        "sLengthMenu": "_MENU_ records per page",
                                        "oPaginate": {
                                            "sPrevious": "Prev",
                                            "sNext": "Next"
                                        }
                                    },
                                    "aoColumnDefs": [{
                                        'bSortable': false,
                                        'aTargets': [0]
                                    }]
                        });

                           }
                     });
                }
            });


        });


        </script>
  • trate de $("element").hide().fadeIn('fast');

3 Kommentare

  1. 2

    Puede utilizar fnDeleteRow para eliminar una fila en la tabla de datos. Esta función automáticamente a dibujar la tabla.

    Consulte este, http://datatables.net/api

    • Estoy tratando de utilizar ajax y algunas personas también afirmó que, incluso después de hacer fnDeleteRow, no referesh la tabla. Y también estoy usando casilla marcada para eliminar las filas. ¿Hay alguna solución para esto? Muchas gracias 😀
  2. 1

    Se va a almacenar en caché todos los fuera de la información en la inicialización y cuando se trate de hacer algunas acciones ( es decir, la clasificación ) va a volver a dibujar la tabla con el conjunto de datos existente. Por lo tanto, usted debe utilizar dibujar( falso ) para prevenir la re-dibujo.

     table.row('.selectedRow').remove().draw( false );
    • Por favor, añadir alguna explicación de por qué este código ayuda a la OP. Esto ayudará a proporcionar una respuesta de futuro a los espectadores pueden aprender de. Consulte Cómo Responder para más información.
    • estás en lo correcto. He cambiado mi respuesta. Gracias por traer esto a mi atención.

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein