2016-12-15 15 views
1

私はDataTableのバージョン1.10.12とjQuery-1.11.1を使用していますJquery Datatable通貨の列を正しく並べ替えるにはどうすればいいですか?

マイ通貨列が正しく並べ替え、下記の私は

$(document).ready(function() { 
     $('#notSoCoolGrid').DataTable({ 
      "lengthMenu": [[10, 25, 50, -1], [10, 25, 50, "All"]], 
      columnDefs: [{ type: 'currency', targets: 1 }], 
      "aaSorting": [[ 2, 'asc' ]] 
     }); 
    }); 

をソートするために使用していたコードがあるしないと私はとして取得しています

()負の数

($ 75.00)USD

($ 108.87)と考えられている私の通貨column.Pleaseノートブラケットを以下に示しUSD

($ 249.44)USD

($ 1,000.00)USD

£899.00 GBP

$ 905.00 AUD

£830.65 GBP

$ 825.00 USD

£59.67 GBP

+0

私はDatatableを初めて使っています。これはどのように実装しますか? – Danny

+0

あなたは異なる通貨フォーマットであなたの価値を持っていますか?では、あなたのソートはどのようなものでしょうか?私はあなたが昇順をしているときに、すべての値を共通の通貨タイプ(ドル)に変換し、小から高へソートしたいのですか? –

+0

私はAUD、GBPのレート変換を検討したいと思っています。現在、私はそれがドルだけをチェックアウトすると思います – Danny

答えて

1

brackets-negativeを使用ソートプラグイン。あなたのコードはそのままで、余分なJSファイル//cdn.datatables.net/plug-ins/1.10.13/sorting/brackets-negative.jsを入れるだけです。

+0

また、通貨レートを変換して並べ替えることもできます。それはクライアント側のコードだけで可能なものですか? –

0

以下は、最終的に私のために働くものです、私は同様に為替レートを考慮する必要があります。

<link href="datatables/1.10.13/css/jquery.dataTable.min.css" type="text/css" rel="stylesheet" /> 
    <script src="js/jQuery/1.11.1/jquery.js"></script> 
    <script src="datatables/1.10.13/js/jquery.dataTables.js"></script> 
    <script> 
     $(document).ready(function() { 
      var currencies = { GBP: 1.2403, AUD: 0.7364, USD: 1 }; 
      $.fn.dataTable.ext.type.order['currencies-pre'] = function(d) { 
       var sign = /\([^)]*\)/.test(d)?-1:1; 
       var currency = currencies[d.match(/USD|GBP|AUD/).pop()]; // /!\ all MUST have currency 
       var n = d.replace(/[^\d.]/g,""); 
       console.log(sign * n * currency); 
       return sign * n * currency; 
      }; 
      $('#notSoCoolGrid').DataTable({ 
       "aoColumns": [{ sWidth: "10%", bSearchable: false, bSortable: false }, { sWidth: "90%", bSearchable: false, bSortable: true }], 
       "lengthMenu": [[10, 25, 50, -1], [10, 25, 50, "All"]], 
       "columnDefs": [{ type: 'currencies', targets: 1 }], 
       "aaSorting": [[ 1, 'asc' ]] 
      }); 
     }); 
    </script> 
関連する問題