2
我創建了一個數據表與下面的代碼一欄搜索的價值:數據表得到
userTable = $('#userTable').DataTable({
serverSide: true,
processing: true,
ajax: {
url: "{!! route('listOfUsersAjax') !!}",
type: "GET",
dataSrc: function (json) {
//console.log(json);;
for (var i=0, ien=json.data.length ; i<ien ; i++) {
if (json.data[i].is_manager == 1){
json.data[i].is_manager = 'Yes';
}
else {
json.data[i].is_manager = 'No';
}
}
return json.data;
}
},
columns: [
{
className: 'details-control',
orderable: false,
searchable: false,
data: null,
defaultContent: ''
},
{ name: 'id', data: 'id' },
{ name: 'name', data: 'name' },
{ name: 'email', data: 'email' },
{ name: 'is_manager', data: 'is_manager'},
{ name: 'region', data: 'region' },
{ name: 'country', data: 'country' },
{ name: 'domain', data: 'domain' },
{ name: 'management_code', data: 'management_code' },
{ name: 'job_role', data: 'job_role' },
{ name: 'employee_type', data: 'employee_type' },
{
name: 'actions',
data: null,
sortable: false,
searchable: false,
render: function (data) {
var actions = '';
actions += '<div class="btn-group btn-group-xs">';
actions += '<button data-toggle="tooltip" title="view" id="'+data.id+'" class="buttonView btn btn-success"><span class="glyphicon glyphicon-eye-open"></span></button>';
actions += '<button data-toggle="tooltip" title="edit" id="'+data.id+'" class="buttonUpdate btn btn-primary"><span class="glyphicon glyphicon-pencil"></span></button>';
actions += '<button data-toggle="tooltip" title="delete" id="'+data.id+'" class="buttonDelete btn btn-danger"><span class="glyphicon glyphicon-trash"></span></button>';
actions += '</div>';
return actions;
}
}
],
columnDefs: [
{
"targets": [1,3,4], "visible": false, "searchable": false
}
],
order: [[2, 'asc']],
initComplete: function() {
this.api().columns().every(function() {
var column = this;
//console.log(userTable);
// Now we need to skip the first column as it is used for the drawer...
if(column[0][0] == '0' || column[0][0] == '11'){return true;};
var input = document.createElement("input");
$(input).appendTo($(column.footer()).empty())
.on('keyup change', function() {
column.search($(this).val(), false, false, true).draw();
});
});
}
});
最後,你可以看到,我已經把爲initComplete有搜索欄是在底部每列。
當列不可搜索時,我不需要搜索,例如,第一列和最後一列,因爲它不可搜索。我使用列號並返回true,以便它不創建它,但我想要更動態的東西,並有一個if列可搜索爲false,然後返回true,我不需要指定柱。
感謝您的幫助。
不工作。但是,當我做一個console.log(索引)它告訴我undefined – Richard
好吧,我發現你不能在函數(索引)中使用索引,相反,你必須這樣定義它:var column = this; index = column [0] [0]; – Richard
@Richard對不起,對於遲到的迴應,這是我寫的答案 - - ** http http://jsfiddle.net/0f9Ljfjr/933/**小提琴我懷疑你失蹤的原因索引是它是[**首先在1.10.8 **中引入](https://datatables.net/reference/api/columns().every()#Type)我沒有想到這一點,你可能使用的是舊版本的數據表。 – davidkonrad