Мне нужно выбрать все классы и отобразить их как валюту Jquery - PullRequest
0 голосов
/ 20 марта 2020

Мне нужно выбрать все классы и отобразить их как валюту. Также это должно отображаться как функция. Это нужно обновлять каждый раз, когда я добавляю некоторые данные. Я много чего перепробовал, ничего не помогло.

Теперь мне нужно сделать это с каждый . Я получил ошибку toFixed не является функцией

$('.dashboard__currency').each(function(){
    return $(this).text().toFixed(2).replace(/\d(?=(\d{3})+\.)/g, '$&,');
});

Есть какие-либо решения?

1 Ответ

1 голос
/ 20 марта 2020

Здесь есть две проблемы. Во-первых, вы получаете ошибку, потому что text() возвращает строку, а toFixed() - это метод числовых типов. Вторая проблема заключается в том, что return в операторе each() не обновляет содержимое элемента.

Чтобы исправить это, вы можете использовать parseFloat() для преобразования строки в число, и вы можете также предоставьте функцию для text(), которая затем возвращает новое значение. Это исключает необходимость явного вызова each(). Попробуйте это:

$('.dashboard__currency').text((i, t) => parseFloat(t).toFixed(2).replace(/\d(?=(\d{3})+\.)/g, '$&,'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<span class="dashboard__currency">10205.99</span><br />
<span class="dashboard__currency">15232323.00</span><br />
<span class="dashboard__currency">193235</span>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...