我使用jquery DataTables来获取数据。我想显示/隐藏columnDefs:编辑按钮根据查询数据,数据有一个项目'编辑&#39:0隐藏编辑按钮,1-show编辑按钮
$('#buget_table').dataTable( {
"aLengthMenu": [[10, 50, 100, -1], [10, 50, 100, "All"]],
"ajax": {
"url": "{{ url('buget.owt_index') }}",
"type": "POST"
},
"columns": [
{ "data": "id", 'searchable': true},
{ "data": "machine_type", 'searchable': true },
{ "data": "machine_room", 'searchable': true },
{ "data": "machine_nums", 'searchable': true },
{ "data": "cpu_nums", 'searchable': true },
{ "data": "mem_nums", 'searchable': true },
{ "data": "disk_type", 'searchable': true },
{ "data": "disk_nums", 'searchable': true },
{ "data": "commit_user", 'searchable': true },
{ "data": "commit_time", 'searchable': true },
],
"columnDefs": [{
"render": function (data, type, full) {
return '<a id="owt_edit" data-toggle="modal" data-target="#buget-modal" class="btn btn-primary btn-sm" href="/buget/buget_query/?action=edit&html=1&id=' +full['id']+ '">detail</a>' +
'<a id="owt_delete" data-toggle="modal" class="btn btn-danger btn-sm" href="javascript:void(0)" onclick=edit_buget("' + full['id'] +'");>edit</a>';
},
"targets": 10,
}],
});
答案 0 :(得分:1)
我不确定我是否清楚这个问题,但听起来你需要呈现数据对象的edit
属性。起初我以为你想要渲染函数中使用的最后一次搜索,所以我在评论中保留了它,以防万一。
$('#buget_table').dataTable( {
"aLengthMenu": [[10, 50, 100, -1], [10, 50, 100, "All"]],
"ajax": {
"url": "{{ url('buget.owt_index') }}",
"type": "POST"
},
"columns": [
{ "data": "id", 'searchable': true},
{ "data": "machine_type", 'searchable': true },
{ "data": "machine_room", 'searchable': true },
{ "data": "machine_nums", 'searchable': true },
{ "data": "cpu_nums", 'searchable': true },
{ "data": "mem_nums", 'searchable': true },
{ "data": "disk_type", 'searchable': true },
{ "data": "disk_nums", 'searchable': true },
{ "data": "commit_user", 'searchable': true },
{ "data": "commit_time", 'searchable': true },
{
data: "edit",
searchable: false,
render: function (data, type, full, meta) {
if((type === "display")
{
var results = '<any other button>';
//var api = new $.fn.dataTable.Api( meta.settings );
//var query = api.search();
//if((query || query === 0))
if(data)
{
results = '<Your edit button>' + results;
}
return results;
}
return data;
}
}
]
});