dataTable - 表单提交后重新加载表

时间:2016-04-11 17:35:49

标签: javascript php jquery ajax datatables

我已经在这里阅读了很多,但我找不到有效的解决方案!我有一个数据表,在一列内有一个编辑按钮。如果用户单击编辑按钮,则会出现模态,用户可以更改数据表中的条目。提交表单后,更改将在数据库中完成。

现在我想在重新加载页面的同时自动刷新我的表格。我怎样才能做到这一点?在成功消息中我需要打电话什么?

这是我的代码:

的index.php:

                <script>
                    $(function() {
                        $('#form_edittodo').on(\"submit\", function(event) {
                            event.preventDefault();

                            $.ajax({
                                url: 'index.php',
                                type: 'post',
                                data: $(this).serialize(),
                                beforeSend: function(){
                                        $('#loading').show();
                                    },
                                    complete: function(){
                                        $('#loading').hide();
                                    },
                                success: function() {
                                   // What should I enter here?
                            });
                        });
                    });
                </script>

AJAX提交:

    <script>
    $(document).ready(function() {
        $('#todolist12').DataTable();
    } );
    </script>

数据表:

.htaccess

如果有人可以帮助我,那会很棒。

2 个答案:

答案 0 :(得分:1)

您需要使用dataTables data()方法更新单元格。

例如,您可能希望成功函数看起来像这样:

success: function() { 
    $('#todolist12').DataTable().cells("#idOfChangedCell").data("Update to cell").
}

但是,要使更改实际显示在您的网页上,您还需要调用dataTables draw()方法:

$('#todolist12').DataTable().draw();

答案 1 :(得分:0)

你可以做一个location.reload()来重新加载页面。

如果您不想重新加载页面,则需要使表格可以通过ajax加载。要真正光滑,你可以加载一行。

您也可以将新行作为保存请求的响应返回,只需使用新标记更新表。

或者您可以使用javascript模板在客户端上呈现数据并将记录作为json返回。

您有很多选择,但是由您来决定正确的解决方案。除了location.reload()之外,没有一行或几行可以解决您的问题。这完全取决于您的应用程序现在的编写方式,或者您如何修改它以执行您希望它执行的操作。