Так что, используя данные datatables https://datatables.net/, я хочу отформатировать валюту, чтобы она отображалась как 1 млрд. Долл. США (один миллиард), 1 млн. Долл. США (один миллион) и 1 тыс. Долл. США (одна тысяча), но дело в том, что при сортировке это один и тот же 1M как 1B, поэтому, если у меня есть 2M и 1B, 2 миллиона будут более 1 миллиарда, есть ли возможность сортировки с использованием такого формата?Сортировка со специальным форматом по номерам в данных datatables
2
A
ответ
1
Вы можете изменить File size сортировки плагин для получения кода ниже:
jQuery.fn.dataTable.ext.type.order['currency-abbr-pre'] = function (data) {
var matches = data.match(/^\$(\d+(?:\.\d+)?)\s*([a-z]+)/i);
var multipliers = {
k: 1000,
m: 1000000,
b: 1000000000
};
if (matches) {
var multiplier = multipliers[matches[2].toLowerCase()];
return parseFloat(matches[1]) * multiplier;
} else {
return -1;
};
};
$(document).ready(function(){
var table = $('#example').DataTable({
columnDefs: [
{ type: 'currency-abbr', targets: 1 }
]
});
});
См this example для кода и демонстрации.
я нашел более простое решение, я добавил тег данных сортировки в
@Janva, да, это будет работать тоже. Я не знал, что у вас есть и оригинальные ценности. –
источник
2017-02-18 20:49:35 Janva
Ваше намерение хорошее, но я рекомендую улучшить ответ. Как объяснить, почему код, который вы публикуете, работает. Например, добавив простой текст, объясняющий немного ваших рассуждений: «Используйте одно устройство для сортировки в атрибуте' data-sort' и отобразите его в формате «пользовательский», –
Смежные вопросы