在DataTables编辑器中提交编辑后,行消失

时间:2016-01-11 02:44:48

标签: datatables datatables-1.10 jquery-datatables-editor

我正在使用数据表编辑器。当我尝试编辑并将其发布到服务器时,该行不断消失。刷新页面后,我可以看到实际更新的数据。

这是我的代码段。

var editor = new $.fn.dataTable.Editor({
    ajax: "/ajax/clips/edit",
    table: "#clips_table",
    idSrc: "id",
    fields: [
        {
            label: "Id",
            name: "id",
            type: "hidden"
        },
        {
            label: "Player",
            name: "player",
            type: "select",
            options: [
                { label: "Rooney", value: "Rooney" },
                { label: "Bale", value: "Bale" }
            ]
        }
    ]
 },
     editorOpenValues;

 editor.on('open', function() {
     editorOpenValues = JSON.stringify(editor.get());
 })
 .on('preBlur', function () {
     if (editorOpenValues !== JSON.stringify(editor.get())) {
         this.submit();
     }
 });

 $('#clips_table').DataTable({
     dom: "lfrtip",
     order: [[2, "asc"]],
     columns: [
         {data: "id"},
         {data: "name"},
         {data: "start"},
         {data: "stop"},
         {data: "player"}
     ]
 });

 $('#clips_table').on('click', 'tbody td.player', function () {
     editor.inline(this);
 });

这是服务器端脚本返回的JSON数据:

{
    "data": {
        "0": {
            "id": "322",
            "name": "Scoren 001",
            "start": "00:11",
            "stop": "00:31",
            "player": "Rooney"
        }
    }
}

可能导致此错误的原因是什么?

1 个答案:

答案 0 :(得分:2)

最后,我明白了。

我差点忘了检查版本兼容性。 我使用v1.5.1作为数据表编辑器。当我将其升级到v1.5.4(最新版本)时,错误消失了。

经验教训! - 当我遇到恼人的错误时,我会先进行版本检查。