DataTables - 列渲染调用两次

时间:2015-12-20 15:29:53

标签: datatables

我对Datatables插件非常陌生,我将它用于我的小项目。我有这样的问题:  +我想创建一个表,每行都有一个链接,可以弹出一个模态进行编辑。 目前我的数据表实现如下:

 $(document).ready(function () {
    $('#dtTable').DataTable({
        serverSide: false,
        processing: true,
        deferRender: true,
        ajax: {
            type: 'POST',
            url: '@Url.Action("GetClasses", "CLASSes")',
            dataSrc: ""
        },
        columns: [
               { data: 'CLASSID' },
               { data: 'CLASSCODE' },
               { data: 'CLASSNAME' },
               {
                   orderable: false,
                   searchable: false,
                   render: function (data, type, full, meta) {
                       debugger;
                       var data = full.CLASSID;
                       return '<a href="callModal()">Action</a>';
                   }
               }
        ]
    });
})

问题在于,当我点击动作链接时,模态将出现然后立即消失,将调试器放在渲染部分,看起来这部分调用了两次而且我不知道为什么? 所以请帮我实现这一点,每一行都有弹出模态的链接,点击它时。 非常感谢你们

1 个答案:

答案 0 :(得分:3)

jQuery DataTables插件确实多次调用render:用于数据类型检测,显示,排序等。

使用以下代码生成仅供显示的内容:

render: function (data, type, full, meta) {
    if(type === 'display'){
        data = '<a href="callModal()">Action</a>';
    }

    return data;
}

关于模态对话框,很可能代码中的其他地方存在一个问题,使模式对话框消失。