其實,我在表的末尾而不日期由兩個參數,也可以設置行排序。 我添加了兩個數據屬性(身份和日期時間戳格式):
<tr>
<td><span class="label label-warning" data-status="0" data-date="1397562467">Status 0</span></td>
<td>2015-03-03 20:14</td>
</tr>
<tr>
<td><span class="label label-warning" data-status="1" data-date="1397567321">Status 1</span></td>
<td>2015-04-15 20:33</td>
</tr>
<tr>
<td><span class="label label-warning" data-status="0" data-date="1397567746">Status 0</span></td>
<td>2015-04-20 09:34</td>
</tr>
<tr>
<td><span class="label label-warning" data-status="0" data-date="1397567321">Status 0</span></td>
<td>2015-04-15 20:33</td>
</tr>
我提出了新的自定義排序功能:
jQuery.fn.dataTableExt.oSort['status-date-asc'] = function(x,y) {
var xStatus, xDate, yStatus, yDate;
xStatus = $(x).data('status');
yStatus = $(y).data('status');
xDate = $(x).data('date');
yDate = $(y).data('date');
return xStatus > yStatus ? 1
: xStatus < yStatus ? -1
: xDate > yDate ? 1
: xDate < yDate ? -1 : 0;
};
和init此行與新的排序功能:
var currentTable = $('#current_table').dataTable({
"aaSorting": [ [5, 'asc'] ],
"aoColumns": [
null,
null,
null,
null,
null,
{ "sType": 'status-date' },
null,
null,
null
],
});
最後看起來:
- 個狀態0,日期2015年3月3日= 20:14
- 狀態0,日期2015年4月15日= 20時33
- 狀態0,日期2015年4月20日= 9點34
- 狀態0,日期2015年4月28日= 22:18
- 狀態0,日期= N/A
- 狀態0,日期= N/A
- 狀態0,日期= N/A
- 狀態1 ,date = 2015-03-03 20:14
- status 1,date = 2015-04-15 20:33
個
- 狀態1,日期2015年4月20日= 9點34
- 狀態1,日期2015年4月28日= 22:18
- 狀態1,日期= N/A
- 狀態1,日期= N/A
- 狀態1,日期= N/A
請提供一些樣本HTML –
你能爲它提供小提琴? –
我改進了格式並修正了一些拼寫錯誤以提高可讀性。我還編輯了問題的標題以更好地反映您的問題。 – Ram