繁体   English   中英

jQuery数据表插件-如何对选择选项列表进行排序

[英]jQuery datatables plug-in - how to sort select option list

我正在使用此插件https://datatables.net/examples/api/multi_filter_select.html

我的选项列表有问题

http://i61.tinypic.com/f5543t.jpg

现在是10,12,14,3,4,5,6,7

我想拥有3,4,5,6,7,10,12,14

这可能是设置的一些选项,但我找不到它。

我的jQuery代码很喜欢

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

            api.columns().indexes().flatten().each( function ( i ) {
                var column = api.column( i );
                var select = $('<select><option value="">Wybierz</option></select>')
                    .appendTo( $(column.footer()).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>' )
                } );
            } );
        },
        "lengthMenu": [[10, 25, 50, -1], [10, 25, 50, "Wszystko"]],
    } );
} );

在此先感谢您的帮助。

您的值列表按字符串而不是数字排序。 显然,在该列中的某处,您具有非数值数据,从而阻止了DataTables识别其类型。

请参阅column.type文档以获取可用数据类型的列表。 我相信如果该列中有HTML标记,则需要numhtml-num

您的代码需要更改,如下所示:

 $('#example').DataTable({
     'columnDefs': [{
         // Use your actual column index instead of 0
         'targets': 0,

         // Use 'num' or 'html-num' depending on your column data
         'type': 'html-num' 
      }],

      // Other initialization options
 )};

我找到了一个解决方案-只需在第20行中删除.sort(),它就可以像魅力一样工作:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM