这是我的代码,我正在尝试禁用除全局搜索之外的所有列的搜索。 这总是搜索我定义的主键。使用数据表示例服务器端类。
var datatable = $('#datatable').DataTable({
"ajax": "/get_data/",
"processing": true,
"serverSide": true,
"deferRender": true,
"columns": [
{"searchable": false, "data": "id"},
{"searchable": false, "data": "user_id"},
{"searchable": true, "data": "bl_number"},
{"searchable": false, "data": "invoice_number"},
{"searchable": false, "data": "ship_date"},
{"searchable": false, "data": "eta_date"},
{"searchable": false, "data": "vessel"},
{"searchable": false, "data": "port_of_load"},
{"searchable": false, "data": "port_of_discharge"},
{"searchable": false, "data": "containers"},
{"searchable": false, "data": "status"}
],
"initComplete": function(settings, json) {
$(this).show();
}
});
datatable.on('click', '.btn-edit', function(){
var data = datatable.row($(this).closest('tr')).data();
edit(data);
});
如果我使用数组而不是json对象,我可以使用以下代码,它工作正常。但我需要使用Json对象而不是数组。
var datatable = $('#datatable').DataTable({
"ajax": "/get_data/",
"processing": true,
"serverSide": true,
"deferRender": true,
"columnDefs": [
{
"targets": 0,
"render": function ( data, type, full, meta ) {
return '<a href="javascript:;" class="btn-edit">Edit</a>';
}
},
{ targets: 1, searchable: true },
{ targets: '_all', searchable: false }
]
});
datatable.on('click', '.btn-edit', function(){
var data = datatable.row($(this).closest('tr')).data();
edit(data);
});