我使用jquery datatable插件并为我的数据库实例的ajax创建了一个“创建”按钮。我希望在创建数据库实例后重新加载数据表,我花了一天多的时间才找到解决方案。我能找到的最接近的东西是DataTables的插件--fnReloadAjax,但是,我无法让它工作。 我得到的错误如下:fnReloadAjax不是函数或networkerror:找不到null124234242(在firebug中)
任何想法如何重新加载表,以便用户可以在不刷新页面的情况下看到新插入的数据?
// Initialize data table
var myTable = $('#stocktable').dataTable({
// Try styling
"sScrollX": "100%",
"sScrollXInner": "100%",
"bScrollCollapse": true,
// To use themeroller theme
"bJQueryUI": true,
// To use TableTool plugin
"sDom": 'T<"clear">lfrtip',
// Allow single row to be selected
"oTableTools": {
"sRowSelect": "single"
}
// Use dataTable editable plugin to allow ajax delete
}).makeEditable({
// Reference to controller action
//sAddURL: "/Stock/AddData",
sDeleteURL: "/Stock/DeleteData",
sDeleteHttpMethod: "GET"
});
当我尝试调用myTable.fnReloadAjax()时,我收到错误.. 真的需要帮助...... 感谢...
答案 0 :(得分:1)
您正在客户端模式中使用datatable;因此,所有行都已经在TBODY中。 fnReloadAjax仅在您处于服务器端处理模式时才有效。
当makeEditable插件向服务器页面发布请求时,它会自动在表格的TBODY中添加行,因此您无需刷新表格 - 它已经存在。如果您没有看到它可能会放在其他页面上,因为添加行时会根据当前的排序标准进行定位。
如果你真的想要刷新表格,那么你可以做的就是刷新整个页面,但是新的行仍然会显示在其他页面上,直到找到放置它的确切页面才会看到它。
约万