【问题标题】:JQuery DataTables - Add Editor buttons after initialisedJQuery DataTables - 初始化后添加编辑器按钮
【发布时间】:2020-03-04 17:13:55
【问题描述】:

我有以下在初始化时添加数据表编辑器按钮。

$( '#year_table' ).DataTable( {
                responsive: true,
                ajax: "program_data/year_data.php",
                dom: "Bfrtip",
                columns: [ {
                    data: "year_name"
                }, {
                    data: "modified"
                }, {
                    data: "modified_by"
                } ],
                select: {
                    style: 'os',
                    selector: 'td:first-child'
                },
                buttons: [ {
                    extend: "create",
                    editor: editor
                }, {
                    extend: "edit",
                    editor: editor
                }, {
                    extend: "remove",
                    editor: editor
                } ]
            } );

但是,我想在初始化后根据用户权限添加按钮。

        if ( permision == 'create' || permision == 'super' ) {
            $( '#year_table' ).DataTable().buttons().add( {
                extend: 'create',
                editor: editor
            } );
        }

        if ( permision == 'edit' || permision == 'super' ) {
            $( '#year_table' ).DataTable().buttons().add( {
                extend: 'edit',
                editor: editor
            } );
        }

        if ( permision == 'super' ) {
            $( '#year_table' ).DataTable().buttons().add( {
                extend: 'delete',
                editor: editor
            } );
        }

应如何更改 DataTables 初始化以使其正常工作?

我尝试了以下简单的测试,但没有添加按钮:

    var table = $( '#year_table' ).DataTable( {
        responsive: true,
        ajax: "program_data/year_data.php",
        dom: "Bfrtip",
        columns: [ {
            data: "year_name"
        }, {
            data: "modified"
        }, {
            data: "modified_by"
        } ],
    } );

                    table.buttons().add( {
            extend: 'create',
            editor: editor
        } );

【问题讨论】:

    标签: jquery datatables


    【解决方案1】:

    如果其他人也想这样做,这很有效。

    var permission = $( '#permission_field' ).val();  
    
    var table = $( '#my_table' ).DataTable( {
                    responsive: true,
                    ajax: "program_data/my_data.php",
                    dom: "Bfrtip",
                    columns: [ {
                        data: "name"
                    }, {
                        data: "modified"
                    }, {
                        data: "modified_by"
                    } ],
                    select: {
                        style: 'os',
                        selector: 'td:first-child'
                    },
                    buttons: []
                } );
    
    
    if ( permission == 'edit' || permission == 'super' ) {
                    table.button().add( null, {
                        extend: 'edit',
                        editor: editor
                    } );
                }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多