Я использую Angular datatable на сервере режим боковой обработки (Ajax) и используйте фильтр световых столбцов для фильтрации данных в каждом столбце.
HTML
<table datatable dt-options="dtOptions" dt-columns="dtColumns"></table>
Datatable config
DTOptionsBuilder.dtOptions = DTOptionsBuilder.fromSource()
.withOption('processing', true)
.withOption('serverSide', true)
.withDataProp('data')
.withPaginationType('full_numbers')
.withOption('ajax', {
url: '/products',
type: 'GET',
headers: {Authorization: 'Bearer ' + $auth.getToken()},
error: function (xhr, error) {
$log.error(error);
},
complete: function (data) {
$log.log('Done');
}
})
.withLightColumnFilter({
'0': {type: 'text'},
'1': {
type: 'select',
values: [
{ value: 1, label: 'Yes'},
{ value: 0, label: 'No'}
]
}
});
создать столбцы
$scope.dtColumns = [
DTColumnBuilder.newColumn('title').withTitle('title').renderWith(function(data) {
return data;
}),
DTColumnBuilder.newColumn('for_sale').withTitle('for sale').renderWith(function(data){
return data; // 0, 1 or true, false
})
]
Фильтр с type:'text'
правильный и работает нормально. Но фильтр с type:'select'
неверен! Другими словами, когда я выбираю Да, фильтр работает и данные фильтруются, но когда я выбираю Нет, результат остается пустым.
Я тестирую выбранное значение с помощью 0,1
и true,false
. В обоих случаях вариант с истинным или 1 значением верен, но вариант с 0 или ложным значением неверен.
По вашему мнению, в чем проблема?
type: 'select'
, а не введите: 'text', - person Morteza QorbanAlizade   schedule 27.12.2017