В следующем коде таблицы данных я хочу изменить фильтр class
, subject
и language
, используя select
и фильтр ввода покоя в алфавитном порядке.
var oTable;
$(document).ready(function() {
oTable = $('#BKData').dataTable({
"aaSorting": [
[2, "asc"],
[3, "asc"]
],
"aLengthMenu": [
[10, 25, 50, 100, -1],
[10, 25, 50, 100, "<?= lang('all') ?>"]
],
"iDisplayLength": <?= $Settings->rows_per_page ?>,
'bProcessing': true,
'bServerSide': true,
'sAjaxSource': '<?= admin_url('
books / getBooks '.($warehouse_id ? ' / '.$warehouse_id : '
').($supplier ? ' ? supplier = '.$supplier->id : '
')) ?>',
'fnServerData' : function(sSource, aoData, fnCallback) {
aoData.push({
"name": "<?= $this->security->get_csrf_token_name() ?>",
"value": "<?= $this->security->get_csrf_hash() ?>"
});
$.ajax({
'dataType': 'json',
'type': 'POST',
'url': sSource,
'data': aoData,
'success': fnCallback
});
},
'fnRowCallback': function(nRow, aData, iDisplayIndex) {
var oSettings = oTable.fnSettings();
nRow.id = aData[0];
nRow.className = "book_link";
//if(aData[7] > aData[9]){ nRow.className = "book_link warning"; } else { nRow.className = "book_link"; }
return nRow;
},
"aoColumns": [{
"bSortable": false,
"mRender": checkbox
}, {
"bSortable": false,
"mRender": img_hl
}, null, null, null, null, null, <?php if($Owner || $Admin) { echo '{"mRender": currencyFormat}, {"mRender": currencyFormat},'; } else { if($this->session->userdata('show_cost')) { echo '{"mRender": currencyFormat},'; } if($this->session->userdata('show_price')) { echo '{"mRender": currencyFormat},'; } } ?> {
"mRender": formatQuantity
}, null, <?php if(!$warehouse_id || !$Settings->racks) { echo '{"bVisible": false},'; } else { echo '{"bSortable": true},'; } ?> {
"mRender": formatQuantity
}, {
"bSortable": false
}]
}).fnSetFilteringDelay().dtFilter([{
column_number: 2,
filter_default_label: "[<?=lang('code');?>]",
filter_type: "text",
data: []
}, {
column_number: 3,
filter_default_label: "[<?=lang('name');?>]",
filter_type: "text",
data: []
}, {
column_number: 4,
filter_default_label: "[<?=lang('author');?>]",
filter_type: "text",
data: []
}, {
column_number: 5,
filter_default_label: "[<?=lang('class');?>]",
filter_type: "text",
data: []
}, {
column_number: 6,
filter_default_label: "[<?=lang('subject');?>]",
filter_type: "text",
data: []
},
<?php $col = 6;
if($Owner || $Admin) {
echo '{column_number : 7, filter_default_label: "['.lang('cost').']", filter_type: "text", data: [] },';
echo '{column_number : 8, filter_default_label: "['.lang('price').']", filter_type: "text", data: [] },';
$col += 2;
} else {
if($this->session->userdata('show_cost')) { $col++; echo '{column_number : '.$col.', filter_default_label: "['.lang('cost').']", filter_type: "text", data: [] },'; }
if($this->session->userdata('show_price')) { $col++; echo '{column_number : '.$col.', filter_default_label: "['.lang('price').']", filter_type: "text, data: []" },'; }
}
?> {
column_number: <?php $col++; echo $col; ?>,
filter_default_label: "[<?=lang('quantity');?>]",
filter_type: "text",
data: []
}, {
column_number: <?php $col++; echo $col; ?>,
filter_default_label: "[<?=lang('language');?>]",
filter_type: "text",
data: []
},
<?php $col++; if($warehouse_id && $Settings->racks) { echo '{column_number : '. $col.', filter_default_label: "['.lang('rack').']", filter_type: "text", data: [] },'; } ?> {
column_number: <?php $col++; echo $col; ?>,
filter_default_label: "[<?=lang('alert_quantity');?>]",
filter_type: "text",
data: []
},
], "footer");
});