0

2つのテーブル見出し<th>を持つ1つのテーブルがあります。jqueryテーブルの並べ替えを使用して2つの異なるセットを並べ替える必要があります。

<table width="100%" border="0" cellspacing="0" cellpadding="0" class="listtable">
 <thead>
  <tr>
   <th>Heading Set1 - A</th>
   <th>Heading Set1 - B</th>
   <th>Heading Set1 - C</th>
  </tr>
 </thead>
 <tbody>
  <tr>
   <td>&nbsp;</td>
   <td>&nbsp;</td>
   <td>&nbsp;</td>
  </tr>
 </tbody>
  <thead>
  <tr>
   <th>Heading Set2 - A</th>
   <th>Heading Set2 - B</th>
   <th>Heading Set2 - C</th>
  </tr>
  </thead>
 <tbody>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  </tbody>
  </table>

単一のTHをソートするためのスクリプトは次のとおりです。

$(function() 
{ 

  $(".listtable").tablesorter({ 

  sortList : [[1,0]], 

  widgets: ["zebra", "columns"], 

  widgetOptions: { 
    columns: [ "primary", "secondary", "tertiary" ], 
    columns_thead : true, 
    columns_tfoot : true 
 } 

 });

THの単一のセットを並べ替えることはできますが、既存のテーブルに別のセットTHとTBODYを追加する必要があります。私のスクリプトでは、1つのテーブルで2つのセットを並べ替えることはできません。

4

2 に答える 2

0

このリファレンスは見つかりましたが、 W3Cの推奨事項に正確な表現が見つかりませんでした。theadテーブルはテーブルごとに1つだけ許可されると書かれていtfootます。複数tbodyのは問題ありません。

したがって、2つではなく、theadaに置き換えてtbodyクラスを追加tablesorter-infoOnlyし、プラグインがコンテンツを無視するようにします。このような:

<table width="100%" border="0" cellspacing="0" cellpadding="0" class="listtable">
    <thead>
        <tr>
            <th>Heading Set1 - A</th>
            <th>Heading Set1 - B</th>
            <th>Heading Set1 - C</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
        </tr>
    </tbody>
    <tbody class="tablesorter-infoOnly">
        <tr>
            <th>Heading Set2 - A</th>
            <th>Heading Set2 - B</th>
            <th>Heading Set2 - C</th>
        </tr>
    </tbody>
    <tbody>
        <tr>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
        </tr>
    </tbody>
</table>
于 2012-11-11T07:47:39.810 に答える
0

このプラグインを試してみてください。

http://datatables.net/release-datatables/examples/basic_init/multi_col_sort.html

DataTables を使用すると、複数の列で同時に並べ替えることができます。DataTables には、独自の並べ替え関数を追加して、DataTables に組み込まれている関数を拡張する方法も用意されています。これは、通貨や Javascript 以外の標準の日付形式などのデータ形式で並べ替えたい場合に非常に便利です (この自然な並べ替えアルゴリズムはよく使われます)。

于 2012-11-09T06:48:01.623 に答える