在jQuery DataTables中使用连字符对数据进行排序

用户名

我正在使用插件显示数据。第一列数字之间有“-”。当我使用下面的代码

$('#table').DataTable({
   dom:'Brt',
   columnDefs:[{targets:'_all',type:'num-fmt'}]
});

表格显示如下

在此处输入图片说明

我想按以下顺序显示

在此处输入图片说明

无论如何,我们可以用相同的格式显示数据,但不考虑'-'进行排序

叶夫根·戈本科夫(Yevgen Gorbunkov)

您可以根据两个数字的数值为数据类型实现自定义搜索插件:

//source data
const srcData = [
  {val: '1-1'}, {val: '10-10'}, {val: '100-100'}, {val: '2-2'}, {val: '20-20'}, {val: '3-3'}, {val: '2-1'}
];

//initialize datatables
const dataTable = $('table').DataTable({
  dom: 't',
  order: [],
  data: srcData,
  columns: [{title: 'Value', data: 'val', type: 'num-num'}]
});

//compare function
const compare = (a,b) => {
    ([ax,ay] = a.split('-'));
    ([bx,by] = b.split('-'));
    return parseFloat(ax) <= parseFloat(bx) && parseFloat(ay) <= parseFloat(by) ? -1 : 1
}    

//custom sort plugin for type 'num-num'
Object.assign($.fn.DataTable.ext.oSort, {
  'num-num-asc': (a,b) => compare(a,b),
  'num-num-desc': (a,b) => compare(a,b)*(-1),
});
<!doctype html><html><head><script type="application/javascript" src="https://code.jquery.com/jquery-3.3.1.min.js"></script><script type="application/javascript" src="https://cdn.datatables.net/1.10.19/js/jquery.dataTables.min.js"></script><link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.19/css/jquery.dataTables.min.css"></head><body><table></table></body></html>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用Jquery Datatables对数据排序属性中的值进行自定义排序

在jQuery中使用整数字符串类型对数组进行排序

如何在jquery中使用字符串数组对数字进行排序

通过拖动行使用jquery对数据表中的数据进行排序(行重新排序)

如何使用jQuery对数组进行排序

jQuery DataTables:使用日期进行奇怪的排序

如何使用jQuery对数据表进行数字排序

如何在 jquery 中对数据属性进行排序?

如何使用单独的列对jQuery DataTables表进行排序?

jQuery DataTables无法使用特殊字符进行搜索

jQuery DataTables插件:对德语日期进行排序

相对于他在jQuery / Js中的内部数据之一对数组进行排序

如何使用jQuery对具有本地字符的项目进行排序?

使用 JQuery 数据表进行自定义排序

如何在php中使用数组对数据进行排序?

Tablesorter用连字符对数字字段进行排序

JQUERY Tablesorter无法正确对数字列进行排序

jQuery dataTables:使用自定义过滤器对表进行排序会导致行消失

JQuery DataTables服务器端分页,排序,使用Spring MVC + JPA进行搜索

如何在jquery中使用tablesorter更改排序列时首先按升序对表进行排序?

如何在jQuery DataTables中对文件大小进行排序

jQuery用数字对表数据进行排序

jQuery DataTables-在td中使用多个元素进行列过滤

从 jQuery DataTables 提交数据

如何根据JS / Jquery中的状态对数据进行分组

使用jquery从字符串的一部分对字符串进行排序

jQuery DataTables中的动态排序

使用jQuery对产品价格进行排序

如何使用jQuery对行进行排序