Могу ли я вызвать функцию $ .fn для моей собственной переменной? - PullRequest
0 голосов
/ 30 мая 2018

Я использую плагин DataTables для отображения некоторых данных, которые имеют некоторые встроенные функции, такие как разбор чисел:

{
    data: 'price',
    render: $.fn.dataTable.render.number( ',', '.', 2, '$' )
}

Мой вопрос: могу ли я вызвать эту функцию (и использовать ее?)) отформатировать какой-нибудь пользовательский var number у меня есть?

Такой: как мне отформатировать var number = 12.456, сохраняя результат в другой переменной, используя эту функцию?Нужна ли мне обертка?Таким образом, я могу отформатировать любое число, которое я хочу, используя различные форматы (для каждого номера).

1 Ответ

0 голосов
/ 30 мая 2018

Да, вы можете, хотя это немного неприглядно.

Вызов render.number() возвращает объект со свойством display, содержащим функцию, которая принимает значение для форматирования в качестве аргумента.Вы можете видеть это в текущем источнике в строке 14888 .

Поэтому вы можете вызывать эту функцию следующим образом:

var number = 12.456;
var output = $.fn.dataTable.render.number(',', '.', 2, '$').display(number);

console.log(output);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script>

Если вам это нужно, я бы предложил извлечь эту логику из таблиц Datatables и в ваше собственное пространство имен.Таким образом, у вас есть контроль над изменением источника Datatables в будущей версии, а также при вызове гораздо менее многословно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...