簡體   English   中英

使用 jQuery DataTables 中的連字符對數據進行排序

[英]Sort data with hyphen in jQuery DataTables

我使用插件來顯示數據。 第一列在數字之間有“-”。 當我使用以下代碼時

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

表格顯示如下

在此處輸入圖片說明

我想按以下順序顯示

在此處輸入圖片說明

無論如何我們可以以相同的格式顯示數據但不考慮“-”

您可以根據兩個數字的數值為您的數據類型實現自定義搜索插件:

 //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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM