Mootools HTML表格排序 - 二级排序

时间:2014-05-21 19:06:45

标签: mootools

我正在尝试对一个可以包含2列以上的表(日期时间,名称,电子邮件等)进行排序。

我正在使用mootools HTMLTable排序来对列进行排序。但是,当我按名称排序时,其他列都没有排序。如何使辅助排序列工作?

示例:(当我对名称列进行排序时,日期时间列不在wack中)

5/08/2014 09:51:18 AM  | Adam |   adam123@gmail.com
5/12/2014 03:51:28 PM  | Adam |   adam123@gmail.com
5/10/2014 04:51:38 AM  | Adam |   adam123@gmail.com
5/07/2014 04:23:21 AM  | Adam |   adam123@gmail.com
5/11/2014 06:51:48 PM  | Dave |   dave123@gmail.com
5/09/2014 10:51:58 AM  | Dave |   dave123@gmail.com

我尝试使用datetime列进行二级排序,但没有任何反应。

HTML:

<table id="report_table">
  <thead>
  <tr>
      <th>Date/time</th>
        <th>Name</th>
        <th>Email</th>
    <tr>
  </thead>
  <tbody>
    <tr>
        <td>5/08/2014 09:51:18 AM</td>
        <td>Adam</td>
        <td>adam123@gmail.com</td>
    </tr>
    <tr>
        <td>5/12/2014 03:51:28 PM</td>
        <td>Adam</td>
        <td>adam123@gmail.com</td>
    </tr>
    <tr>
        <td>5/10/2014 04:51:38 AM</td>
        <td>Adam</td>
        <td>adam123@gmail.com</td>
    </tr>
    <tr>
        <td>5/07/2014 04:23:21 AM</td>
        <td>Adam</td>
        <td>adam123@gmail.com</td>
    </tr>
    <tr>
        <td>5/11/2014 06:51:48 PM</td>
        <td>Dave</td>
        <td>dave123@gmail.com</td>
    </tr>
    <tr>
        <td>5/09/2014 10:51:58 AM</td>
        <td>Dave</td>
        <td>dave123@gmail.com</td>
    </tr>
  </tbody>
</table>

Javascript:

var sortableTable = new HtmlTable($('report_table'), {sortable: true,     sortIndex : 1});
sortableTable.sort(0, false, false);

编辑:也添加了HTML。如果我只是按日期时间列排序,它排序很好,但只有当次要排序是在日期/时间时它才能很好。

任何帮助都会有所帮助。

1 个答案:

答案 0 :(得分:1)

删除sortIndex选项并使用sort方法指定主要和次要排序,如documentation中所述。即使在用户点击thead来使用表格之后,Mootools也会记住列的排序选项。

var sortableTable = new HtmlTable( $('report_table'), { sortable: true } );
sortableTable.sort( 0, false, true );
sortableTable.sort( 1, false, false );
相关问题