Таблица данных Jquery Сортировка и фильтрация записей

Используя JQuery DataTable, мне удалось создать раскрывающийся список поверх каждого столбца, имеющего уникальные значения для фильтрации. Но проблема в том, когда я нажимаю на раскрывающуюся сортировку, также активируется. Я хочу только сортировать записи, когда пользователь нажимает "Сортировка значков стрелок". Есть ли способ отменить сортировку событий, когда пользователь нажимает на выпадающее меню, но поддерживайте его, чтобы пользователь мог щелкнуть по значкам сортировки для сортировки данных? Вот ссылка на таблицу данных Live http://live.datatables.net/ribezoho/1/edit

пожалуйста, дайте мне знать

Это мой код

$(document).ready(function() {
$('#example').DataTable( {
 initComplete: function () {
 var api = this.api();

 api.columns().indexes().flatten().each( function ( i ) {
 var column = api.column( i );
 var title = $('#example thead th').eq(i).text();
 var select = $('<select><option value="">'+title+'</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().sort().each( function ( d, j ) {
 select.append( '<option value="'+d+'">'+d+'</option>' )
 } );
 } );
 }
} );
} );
1 ответ

Добавьте обработчик кликов к вашему <select> который вызывает event.stopPropagation(). Это предотвратит появление события click от </select> до .

http://live.datatables.net/ribezoho/20/edit

licensed under cc by-sa 3.0 with attribution.