DataTable自定义排序

时间:2021-10-10 08:20:11

使用JQ DataTable 的时候,希望某列数据可以进行自定义排序,操作如下:(以中文排序和百分比排序为例)

1:定义排序类型:

  1. //百分率排序
  2. jQuery.fn.dataTableExt.oSort['number-fate-asc']  = function(s1,s2) {
  3. s1 = s1.replace('%','');
  4. s2 = s2.replace('%','');
  5. return s1-s2;
  6. };
  7. jQuery.fn.dataTableExt.oSort['number-fate-desc'] = function(s1,s2) {
  8. s1 = s1.replace('%','');
  9. s2 = s2.replace('%','');
  10. return s2-s1;
  11. };
  12. //中文排序
  13. jQuery.fn.dataTableExt.oSort['chinese-string-asc']  = function(s1,s2) {
  14. return s1.localeCompare(s2);
  15. };
  16. jQuery.fn.dataTableExt.oSort['chinese-string-desc'] = function(s1,s2) {
  17. return s2.localeCompare(s1);
  18. };

2:指定排序的列:

    1. $('#flexme1').dataTable({
    2. "aoColumns": [
    3. null,
    4. { data: 'area', "sType": "chinese-string" },//中文排序列
    5. null,
    6. { data: 'percent', "sType": "number-fate" },//百分率排序
    7. null,
    8. null
    9. ]
    10. });