У меня возникли проблемы с сортировкой моего Datatable. У меня есть столбец, показывающий игроков на сервере вроде этого «0/50», когда я пытаюсь сортировать этот столбец, он не сортирует числа должным образом. Он покажет, с тем, как это:Bootstrap Datatables Сортировка по части содержимого ячейки
- 0/50
- 10/30
- 2/40
- 3/30
- 4/30
- 9/25
Я хотел бы сортировать только первый номер. Например:
- 0/50
- 2/40
- 3/30
- 4/30
- 9/25
- 10/30
Я знаю это, вероятно, можно было бы сделать, просто разделив 2 значения на их собственный столбец, но по эстетическим соображениям я хотел бы, чтобы они были в одной колонке.
Вот мой HTML Layout:
<div class="row">
<div class="col-lg-12">
<table id="serverList" class="table table-striped table-bordered" cellspacing="0" width="100%">
<thead>
<tr>
<th>ID</th>
<th>Server Infomation</th>
<th>Players</th>
</tr>
</thead>
</table>
</div>
</div>
Вот мой Javascript:
$(document).ready(function() {
var t = $('#serverList').DataTable();
$.getJSON('../php/queryAll.php', function(data){
var server = [];
$.each(data, function(key, val) {
$.each(val, function(key2, val2) {
server.push(val2);
});
String.prototype.replaceAll = function(str1, str2, ignore){return this.replace(new RegExp(str1.replace(/([\/\,\!\\\^\$\{\}\[\]\(\)\.\*\+\?\|\<\>\-\&])/g,"\\$&"),(ignore?"gi":"g")),(typeof(str2)=="string")?str2.replace(/\$/g,"$$$$"):str2);}
if(server[14] > 0)
{
hostName = server[1].replaceAll('[','<span style="color:#');
server[1] = hostName.replaceAll(']',';">');
t.row.add([server[0],server[1],server[8] + '/' + server[7]]).draw(false);
}
server = [];
});
$("#loader").fadeOut(250, function(){
$(".row").fadeIn(1000);
});
});
});
Спасибо за любую помощь вы можете предоставить.
Вы можете сделать это, указав скрытый столбец только с сортируемыми данными (0,2,3 и т. Д.). Вы можете указать, что этот столбец используется для сортировки при щелчке по сортировке столбцов с помощью свойства [columns.orderData] (https://datatables.net/reference/option/columns.orderData). Существует множество примеров, например [stackoverflow.com/questions/30538878/datatables-v1-10-sorting-by-hidden-column] (http://stackoverflow.com/questions/30538878/datatables-v1-10-sorting -by-hidden-column) – markpsmith