Есть ли способ добавить тысячи разделителей для типа входного диапазона HTML? - PullRequest
0 голосов
/ 23 мая 2018

Я хотел бы добавить тысячи разделителей, используя английское соглашение для отображаемого вывода.

<input id="number692" oninput="outputnumber692.value=number692.value" type="range" lang="en-150" name="number-692" value="110" min="500" max="200000"><output name="number-692" id="outputnumber692" for="number692">110</output>

Я прочитал об атрибуте lang = "en-150", и он не работает.С JS мне удалось изменить значение только с помощью события onChange, но оно не сработало динамически.

JSFiddle link

Ответы [ 2 ]

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

Вы можете применить ответ на этот другой вопрос к своей проблеме:
Добавить разделитель тысяч к итогу с помощью Javascript или jQuery?

// Using function from here: /1830924/dobavit-razdelitel-tysyach-k-itogu-s-pomoschy-javascript-ili-jquery
function addCommas(nStr) {
    nStr += '';
    var x = nStr.split('.');
    var x1 = x[0];
    var x2 = x.length > 1 ? '.' + x[1] : '';
    var rgx = /(\d+)(\d{3})/;
    while (rgx.test(x1)) {
        x1 = x1.replace(rgx, '$1' + ',' + '$2');
    }
    return x1 + x2;
}
<input id="number692" oninput="outputnumber692.value=addCommas(number692.value)" type="range" lang="en-150" name="number-692" value="110" min="500" max="200000">
<output name="number-692" id="outputnumber692" for="number692">110</output>

Или, как вы говорили о en-150, вы также можете использовать .toLocaleString('en-150'):
(но это не комы)

<input id="number692" oninput="outputnumber692.value=(+number692.value).toLocaleString('en-150')" type="range" lang="en-150" name="number-692" value="110" min="500" max="200000">
<output name="number-692" id="outputnumber692" for="number692">110</output>

Надеюсь, это поможет.

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

Попробуйте следующее:

<input id="number692" oninput="outputnumber692.value=Number(number692.value).toLocaleString()" type="range" lang="en-150" name="number-692" value="110" min="500" max="200000">
<output name="number-692" id="outputnumber692" for="number692">110</output>

Подробнее см. toLocaleString .

...