Javascript 在colorbox内表单提交后重新加载dataTable
我有一个页面test.php,在那里我使用jquerydatatables获取数据。在同一页面中有一个“添加注释”按钮,可在colorbox中打开一个ajax表单。表单提交工作正常,但我希望在数据库中插入记录时刷新数据表 数据表:Javascript 在colorbox内表单提交后重新加载dataTable,javascript,jquery,ajax,datatables,colorbox,Javascript,Jquery,Ajax,Datatables,Colorbox,我有一个页面test.php,在那里我使用jquerydatatables获取数据。在同一页面中有一个“添加注释”按钮,可在colorbox中打开一个ajax表单。表单提交工作正常,但我希望在数据库中插入记录时刷新数据表 数据表: $(document).ready(function() { $('#example').DataTable(); }); Ajax表单:请注意,此表单加载到colorbox弹出窗口中 if (error == false) { $.post("sub
$(document).ready(function() {
$('#example').DataTable();
});
Ajax表单:请注意,此表单加载到colorbox弹出窗口中
if (error == false) {
$.post("submit.php", $("#add_note").serialize(), function (result) {
if (result == 'success') {
$('#error_msg').remove();
$('#success_msg').fadeIn(500);
// want to reload DataTables here
} else {
$('#error_msg').fadeIn(500);
}
});
}
我的解决方案:我尝试了不同的方法,下面的方法刷新了页面内容,但只是第一次。如果我想第二次提交表单而不刷新页面,那么ajax表单就会停止工作
$(".content-wrapper").load('test.php');
如果您通过its加载数据表(我建议在这种特殊情况下使用),则可以使用 首先,将DataTables实例保留在全局变量中,然后使用该变量调用API:
var table;
$(document).ready(function() {
table = $('#example').DataTable();
});
if (error == false) {
$.post("submit.php", $("#add_note").serialize(), function (result) {
if (result == 'success') {
$('#error_msg').remove();
$('#success_msg').fadeIn(500);
table.ajax.reload();
} else {
$('#error_msg').fadeIn(500);
}
});
}
希望有帮助 嗯,我是基本的初始化,但也会检查ajax选项。有没有办法只重新加载
div
,我尝试了上面的方法,但没有效果。如果在datatables中使用ajax方法,就不需要重新加载div,datatables将自动处理数据重新加载(酷,哈?)