我正在尝试对一个可以包含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。如果我只是按日期时间列排序,它排序很好,但只有当次要排序是在日期/时间时它才能很好。
任何帮助都会有所帮助。
答案 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 );