0

フッタブルテーブルにデータがあります。最初の行 (tr) には、その下の各行の平均があります。例:

| Name    | Number |
--------------------
| Average | 4.5    |
| Jim     | 5.0    |
| Sam     | 4.0    |

平均行はソートされるべきではありません。平均値がソートされないようにするクラスまたは属性はありますか?

4

1 に答える 1

2

デフォルトの並べ替えプラグインは行ごとの設定をサポートしていないため、カスタム ソーターとカスタム マーカーを使用してロジックをハックする必要があります。

$('table').footable({
   sorters : {
      alpha : function mysorter ( a, b ) {
         if ( ! mysorter.top ) {
            mysorter.top = $('table .footable-sorted-desc').length ? 1 : -1;
            setTimeout( function(){ mysorter.top = 0; }, 0 );
         }
         if ( a.indexOf( '\u2063' ) >= 0 ) return mysorter.top;
         if ( b.indexOf( '\u2063' ) >= 0 ) return -mysorter.top;
         return a > b ? 1 : ( a < b ? -1 : 0 );
      }
   }
});
<link href="http://fooplugins.com/footable/css/footable.core.min.css" rel="stylesheet"/>
<link href="http://fooplugins.com/footable/css/footable.metro.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="http://fooplugins.com/footable/js/footable.js"></script>
<script src="http://fooplugins.com/footable/js/footable.sort.js"></script>

<table><thead><tr><th>Name<th data-sort-initial="true">Number</thead><tbody>
<tr><td>Average<td>4.5&#x2063;</tr>
<tr><td>Jim<td>5.0</tr>
<tr><td>Sam<td>4.0</table>

ここでは、Invisible Separator \u2063を使用して「トップ」コンテンツをマークしています。

ソート方向を最適に検出し、それに応じて結果を調整するために、いくつかの余分な行が使用されます (昇順で最小、降順で最大)。

于 2015-02-11T11:53:17.067 に答える