Jquery数据表排序和筛选记录

Jquery数据表排序和筛选记录,jquery,jquery-datatables,Jquery,Jquery Datatables,使用jQueryDataTable,我成功地在每个列的顶部创建了下拉列表,这些列具有唯一的过滤值。但问题是,当我点击下拉列表时,排序也会被激活。我只想在用户单击排序箭头图标时对记录进行排序。当用户单击下拉列表时,是否有任何方法可以取消排序事件,但请将其保持启用状态,以便用户可以单击排序图标对数据进行排序?这里是指向数据表Live的链接 请让我知道 这是我的密码 $(document).ready(function() { $('#example').DataTable( { initCo

使用jQueryDataTable,我成功地在每个列的顶部创建了下拉列表,这些列具有唯一的过滤值。但问题是,当我点击下拉列表时,排序也会被激活。我只想在用户单击排序箭头图标时对记录进行排序。当用户单击下拉列表时,是否有任何方法可以取消排序事件,但请将其保持启用状态,以便用户可以单击排序图标对数据进行排序?这里是指向数据表Live的链接

请让我知道

这是我的密码

$(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>' )
            } );
        } );
    }
} );
} );

将一个单击处理程序添加到调用的对象中。这将防止单击事件从冒泡到


我能想到的一种可能的方法是使用表_obj.findth.offclick.DT在select的焦点上取消绑定click事件;并使用table_obj.findth.onclick.DT;在select的onblur上重新绑定它;。但问题是重新绑定不起作用,这意味着一旦禁用排序,它就不会回来。你知道为什么吗?太棒了!!!你太棒了!!!。只是想知道为什么table_obj.findth.onclick.DT;没用?