3

テーブルにデータテーブル スクリプトを統合しました。ランク欄があります。データは次のようになります

ここに画像の説明を入力

ここで数値ソートが必要です。このために、次のコードを使用しました

{ "sType": "numeric", "aTargets": [ 0 ] }

HTMLコードでは、次を使用しました

<span style="display:none;">3</span> #3 in
<span style="display:none;">45</span> #45 in
<span style="display:none;">25</span> #25 in
<span style="display:none;">25</span> #15 in etc...

そのため、スパンタグで数字を隠し形式で表示しました。

しかし、このセルではソートが機能していません。私を助けてください。ありがとう

12月15日更新 =====================

{ "bVisible": false, "aTargets": [8] }, //set column visibility            
                {"sType": "numeric", "aTargets": [8] }, //define data type for specified columns
                {"iDataSort": 8, "aTargets": [3] } //sort based on a hidden column when another column is clicked 
                { "bVisible": false, "aTargets": [9] }, //set column visibility            
                {"sType": "numeric", "aTargets": [9] }, //define data type for specified columns
                {"iDataSort": 9, "aTargets": [5] } //sort based on a hidden column when another column is clicked       
4

2 に答える 2

6

問題を解決する別の方法を次に示します。非表示のスパンではなく、非表示の列に数値を配置します。データ テーブル バインディングで、表示されている列ヘッダーが次のようにクリックされたときに、非表示の列をポイントします。

myTable.dataTable({        
    "aoColumnDefs": [
        { "bVisible": false, "aTargets": [hiddenColumnIndex] }, //set column visibility            
        {"sType": "numeric", "aTargets": [hiddenColumnIndex] }, //define data type for specified columns
        {"iDataSort": hiddenColumnIndex, "aTargets": [visibleColumnIndex] } //sort based on a hidden column when another column is clicked            
    ]
});​ 
于 2012-12-11T04:50:24.673 に答える
3

datatables.net jquery プラグインを使用しているようです。基になるデータが数値の場合は、mRender オプションを使用して、テーブル セルに表示される html を上書きします (つまり、#[実際の数値] を表示するように数値をフォーマットします)。並べ替えを有効にすると、基になるデータで並べ替える必要があります (mData オプションを参照)。注: これはプラグインの現在のバージョン用です...古いバージョンを使用している場合は、fnRender オプションを参照してください。

例えば:

"aoColumns": [
  { "mData": "StringColumn1" },
  { "mData": "StringColumn2" },
  {
    "mData": "Your Numeric Column",
    "mRender": function ( data, type, full ) {
                 return '#' + data + ' in';
               }
  }
于 2012-12-11T04:50:13.333 に答える