javascript - 刷新数据表数据而不重新加载整个页面

标签 javascript jquery ajax datatables

我正在使用 codeigniter 在数据表上加载数据,数据表上的每一行都有一个链接,单击该链接时数据将发送到其他地方。该特定行中的数据应消失,仅保留未单击的链接。我已经成功地使用 AJAX 做到了这一点,但是成功后我被迫在 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);

最佳答案

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

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

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

阅读 documentation 中的 fnDraw 条目.

关于javascript - 刷新数据表数据而不重新加载整个页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13820587/

相关文章:

jquery - DataTables 无法显示 Ajax 数据

javascript - 当将数组 .unshift-ing 转换为字符串时,如何避免每个字符之间出现 ","?

javascript - Node.js : xml-js (npm ver 1. 6.4)

JavaScript 数学将 Div 放置在中心(算法)

javascript - 你如何防止输入类型=提交关闭模式?

jquery - 引用错误: audio is not defined

asp.net - Web Api 参数始终为空

Javascript 创建和添加 div 与克隆、修改和添加 div

c# - MVC 4,如何在选择自动完成值时填充 3 个文本框?

php - 检查,PHP;连接的动态 mySQL DB 是否已更改?