jQuery DataTables 自动刷新

0 投票
1 回答
621 浏览
提问于 2025-04-17 14:58

我正在更新一个数据表中的一行数据(http://www.datatables.net/),但是在成功更新后,表格并没有刷新。虽然数据已经更新到数据库,但用户仍然看到的是旧的数据。有没有办法在makeEditable()这个函数里启用自动刷新?顺便说一下,我是用Web2Py(Python)来做的。

这是我在视图中的jQuery代码:

    $(document).ready( function () {
var oTable = $('#data_table_wrapper').dataTable({
        "sDom": 'R<"H"lfr>t<"F"ip<',
        "bJQueryUI": true,
        "sPaginationType": "full_numbers",
        "aoColumn": [
                {},
                {},
                {}
                    ]       
    }).makeEditable({
        sUpdateURL: "update_some_row"
    });

});

这是我的控制器函数:

def update_some_row():
    some = db.some(request.vars["id"]) or redirect(URL('error'))
    column = {request.vars["columnName"].lower():request.vars["value"]}
    some.update_record(**column)
    return 'Row has been updated'

在makeEditable()函数里,有没有类似的东西

sAutoRefresh: "true"

?谢谢任何建议和提示!

1 个回答

0

真是笨啊!我应该在修改字段的时候,从函数里返回我输入的那个值。所以在把控制器部分改成

def update_some_row():
    some = db.some(request.vars["id"]) or redirect(URL('error'))
    column = {request.vars["columnName"].lower():request.vars["value"]}
    some.update_record(**column)
    return request.vars["value"]

之后,它就开始正常工作了。

撰写回答