JQuery 数据表列的自定义可排序下拉列表

Custom sortable dropdown for JQuery datatable column

我在 jQuery 数据表中添加了下拉选择。

table.columns().every(function() {
    var column = this;
    var select = $('<select><option value=""></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(value, j) {
      select.append('<option value="' + value + '">' + value + '</option>')
    });
  });

以下是完整的源代码 plunker link.

当我打开下拉列表时,值按字符串而不是整数排序。 例如这里的下拉菜单给出了选择

[1,10,11,2,...] && [Item 1,Item 10,Item 11,...]

我想回答

[1,2,3,4,..10,11..] && [Item 1,Item 2,Item 3,...]

您可以使用 Sorting plugins

像这样修改您的代码:

var table = $('#example').DataTable({
    "columnDefs": [
            { "type": "natural", targets: 0 },
            { "type": "natural", targets: 1 }
    ]
});

结果可以在这里看到:https://plnkr.co/edit/MJgKWrYpFmmr0v43hKd4?p=preview