JQuery数据表列的自定义排序下拉列表
问题描述:
我在jQuery数据表格中添加了下拉选择。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。
当我打开下拉列表的值被排序为String而不是整数。 例如,下面的下拉列表中给出了选择
[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