jQuery数据表添加列的条件

jQuery Datatables add column on condition

本文关键字:条件 添加 数据表 jQuery      更新时间:2023-09-26

我有一个jQuery数据表,用于在发出AJAX请求后显示数据。但是,如果当前用户是管理员,我想在表中添加第三列,以便他们可以删除条目。如何根据条件语句添加第三列?谢谢。

代码:

    // Create our AJAX request to get the data
    new Ajax.Request( combat_record_link,
    {
        method: 'get',
        evalJSON: 'force',
        parameters: {
            'md5check': ipb.vars['secure_hash']
        },
        onSuccess: function(t)
        {
            if( Object.isUndefined( t.responseJSON ) )
            {
                alert( "Bad Request" );
            }
            else if ( t.responseJSON['error'] )
            {
                alert( t.responseJSON['error'] );
            }
            else
            {
                jQuery('#combat_record').dataTable( {
                    "data": t.responseJSON,
                    "paging": true,
                    "ordering": true,
                    "order": [[ 0, "desc" ]],
                    "info": false,
                    "columns": [
                        { "title": "Date", "width": "10%", "data": "date"},
                        { "title": "Entry", "width": "90%", "data": "entry", "orderable": false},
                    ]
                });                 
            }
        }
    });

你可以这样做:

var columns = [{ "title": "Date", "width": "10%", "data": "date"},
               { "title": "Entry", "width": "90%", "data": "entry", "orderable": false}];
if(isAdmin){
   columns.push({"title": "Delete", ...});
}
jQuery('#combat_record').dataTable( {
                    "data": t.responseJSON,
                    "paging": true,
                    "ordering": true,
                    "order": [[ 0, "desc" ]],
                    "info": false,
                    "columns": columns
});