任何數字
依數字排序含有混合數值內容的欄位
- 作者:David Konrad
依任何數字(忽略文字)排序欄位。如果欄位中包含混合內容,但您仍想依數字排序,這個外掛程式會很有用。「任何數字」指的是
- 整數,例如 42
- 小數,例如 42.42 / 42,42
- 帶正負號的數字,例如 -42.42 / +42.42
- 科學記號表示的數字,例如 42.42e+10
- 非法的數字,例如 042,會被視為 42
- 貨幣數字,例如 €42,00
純文字會被忽略;沒有可辨識數字內容的欄位會被推到表格的底部,無論是升冪或降冪排序。
使用方式
這個外掛程式可透過多種不同方式取得和使用。
瀏覽器
這個外掛程式可在 DataTables CDN 上取得
JS
接著,這個外掛程式會自動向全域 DataTables 實例註冊。如果您使用 AMD 載入器(例如 Require.js),也可以使用這個檔案。
請注意,如果您使用多個外掛程式,將外掛程式合併到單一檔案並託管在您自己的伺服器上,會比多次向 DataTables CDN 發出請求在效能上更有益。
NPM
所有外掛程式都可以在 NPM 上取得(也可以與 Yarn 或任何其他 Javascript 套件管理員搭配使用),作為 datatables.net-plugins
套件的一部分。若要使用此外掛程式,請先安裝外掛程式套件
npm install datatables.net-plugins
ES 模組
然後,如果您使用 ES 模組,請匯入 datatables.net
、您需要的任何其他 DataTables 擴充功能以及此外掛程式
import DataTable from 'datatables.net';
import 'datatables.net-plugins/sorting/any-number.mjs';
CommonJS
如果您使用 Node 的 CommonJS 載入器(例如使用舊版的 Webpack,或非模組化的 Node 程式碼),請使用以下方法 require
此外掛程式
var $ = require('jquery');
var DataTable = require('datatables.net');
require('datatables.net-plugins/sorting/any-number.js');
範例
$('#example').dataTable( {
columnDefs: [
{ type: 'any-number', targets : 0 }
]
} );
版本控制
如果您對如何改進此外掛程式有任何想法,或發現任何錯誤,可以在 GitHub 上取得,我們非常歡迎 pull request!
- 此外掛程式:any-number.js
- 完整的 DataTables 外掛程式儲存庫:DataTables/Plugins