我有以下内容,它在初始化时添加了DataTables Editor按钮。
$( '#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
} );
这在其他人也想要这样做的情况下有效。
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
} );
}