刷新数据表的数据,而不刷新整个页面(Refreshing Datatable data withou

2019-08-03 21:01发布

我使用笨上加载数据表的数据,在数据表中的每一行都有点击时数据被发送到其他地方的链接。 该特定行中的数据应该会消失,只是还没有被点击的链接依然存在。 我已经成功地做到这一点与AJAXbut成功,我不得不重新加载jQuery的超时页面

样品:

//Table headers here
<tbody class="tablebody">
    <?php foreach ($worksheets as $sheets) : ?> 
        <tr>
            <td><?php echo $sheets->filename ?></td>
            <td class="bold assign">
                <?php echo $sheets->nqcl_number ?>&nbsp;&nbsp;&nbsp;
                <?php echo anchor('assign/assing_reviewer/' . $sheets->nqcl_number, 'Assign') ?>
                <a id="inline" href="#data">Assign1</a>
                <input type="hidden" id="labref_no" value="<?php echo $sheets->nqcl_number; ?>" />
            </td>
            <td><?php echo $sheets->uploaded_by ?></td>
            <td><?php echo $sheets->datetime_uploaded ?></td>
            <td></td>                        
        </tr>
    <?php endforeach; ?>
</tbody>

我想,关于AJAX的成功,其中的链接是动态从表中删除,而不刷新页面的数据表中的行。

$.ajax({
    type: "POST",
    url: "<?php echo base_url(); ?>assign/sendSamplesFolder/" + labref,
    data: data1,
    success: function(data) {
        var content = $('.tablebody');
        $('div.success').slideDown('slow').animate({opacity: 1.0}, 2000).slideUp('slow');
        $.fancybox.close();
        //Reload the table data dynamically in the mean time i'm refreshing the page
        setTimeout(function() {
            window.location.href='<?php echo base_url();?>Uploaded_Worksheets';
        }, 3000);
        return true;
    },
    error: function(data) {
        $('div.error').slideDown('slow').animate({opacity: 1.0}, 5000).slideUp('slow');
        $.fancybox.close();
        return false;
    }
});

我曾经试过,但它加载两个相同的页面。 有什么解决办法?

  content.load(url);

Answer 1:

您可以使用fnDraw()来强制数据表重新查询数据源。 试试这个:

// store a reference to the datatable
var $dataTable = $("#myTable").dataTable({ /* Your settings */ });

// in the AJAX success:
success: function(data) {
    $dataTable.fnDraw();
},

有一个读fnDraw的入门文档 。



Answer 2:

var $dataTable = $("#myTable").dataTable({ /* Your settings */ });

var oSettings = $dataTable.fnSettings();

var page = Math.ceil(oSettings._iDisplayStart / oSettings._iDisplayLength);

$dataTable.fnPageChange(page);


文章来源: Refreshing Datatable data without reloading the whole page