Моя проблема заключается в том, что для выбора таблицы используется входной сигнал <tr>
, и каждый раз, когда я выбираю опцию, вся таблица данных сортируется для каждого щелчка в поле ввода выбора.На первом <tr>
я хочу иметь <tr>
с опцией сортировки, а другой <tr>
должен просто сделать опцию выбора ввода.Кто-нибудь может помочь?
Javascript / Jquery / Datatables:
var table = $('#datatable').DataTable( {
"orderable": false,
initComplete: function () {
this.api().columns().every( function () {
var column = this;
var select = $('<select><option value=""></option></select>')
.appendTo( $(column.header()).empty() )
.on( 'change', function () {
var val = $.fn.dataTable.util.escapeRegex(
$(this).val()
);
column
.search( val ? '^'+val+'$' : '', true, false )
.draw();
} );
column.data().unique().each( function ( d, j ) {
select.append( '<option value="'+d+'">'+d+'</option>' );
} );
} );
}
} );
table.on('draw', function () {
table.columns().indexes().each( function ( idx ) {
var select = $(table.column( idx ).header()).find('select');
if ( select.val() === '' ) {
select
.empty()
.append('<option value=""/>');
table.column(idx, {search:'applied'}).data().unique().each( function ( d, j ) {
select.append( '<option value="'+d+'">'+d+'</option>' );
} );
}
} );
} );
Datatable выглядит следующим образом: