我使用jQuery DataTables和TableTools扩展在表标题中显示按钮。但是,在满足某些条件时,是否有显示按钮的选项?
我的表初始化代码如下所示:
projectsTable = $('#projects_table').DataTable({
"dom": '<"cleaner">lf<"cleaner">T<"cleaner"><"cleaner">rtip',
"stateSave": true,
"data":tableData,
"bSortCellsTop": true,
"responsive": true,
"autoWidth": false,
"tableTools":{
"aButtons": [
{
"sExtends": "text",
"sButtonText": "New project",
"fnClick": function (mButton, oConfig, oFlash){
addProjectDialog();
}
},{
"sExtends": "text",
"sButtonText": "Reset all filters",
"fnClick": function (mButton, oConfig, oFlash){
resetAllFilters();
}
}
]
}
});我想显示“新项目”按钮,只有当用户有正确的权限。有可能吗?
发布于 2015-06-18 19:18:36
由于aButtons是一个数组,所以可以如下所示解决这个问题:
var canUserCreateProjects = true;
// DataTables TableTools buttons options
var aButtonsData = [];
// If user can create projects
if(canUserCreateProjects){
aButtonsData.push({
"sExtends": "text",
"sButtonText": "New project",
"fnClick": function (mButton, oConfig, oFlash){
addProjectDialog();
}
});
}
aButtonsData.push({
"sExtends": "text",
"sButtonText": "Reset all filters",
"fnClick": function (mButton, oConfig, oFlash){
resetAllFilters();
}
});
// Initialize DataTable
var projectsTable = $('#projects_table').DataTable({
"dom": '<"cleaner">lf<"cleaner">T<"cleaner"><"cleaner">rtip',
"stateSave": true,
"data":tableData,
"bSortCellsTop": true,
"responsive": true,
"autoWidth": false,
"tableTools": {
"aButtons": aButtonsData
}
});https://stackoverflow.com/questions/30921073
复制相似问题