我已经在这里阅读了很多,但我找不到有效的解决方案!我有一个数据表,在一列内有一个编辑按钮。如果用户单击编辑按钮,则会出现模态,用户可以更改数据表中的条目。提交表单后,更改将在数据库中完成。
现在我想在重新加载页面的同时自动刷新我的表格。我怎样才能做到这一点?在成功消息中我需要打电话什么?
这是我的代码:
的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
如果有人可以帮助我,那会很棒。
答案 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()之外,没有一行或几行可以解决您的问题。这完全取决于您的应用程序现在的编写方式,或者您如何修改它以执行您希望它执行的操作。