показывает правильный результат, но как я могу добавить такое же форматирование к типу ввода во время ввода.Форматирование числа как тысяч, используя только Javascript
Тип ввода сбрасывается после каждой запятой до нуля.
от 1000 до 1000
Пожалуйста, помогите.
Этот код работает here
function numberWithCommas(number) {
if (isNaN(number)) {
return '';
}
var asString = '' + Math.abs(number),
numberOfUpToThreeCharSubstrings = Math.ceil(asString.length/3),
startingLength = asString.length % 3,
substrings = [],
isNegative = (number < 0),
formattedNumber,
i;
if (startingLength > 0) {
substrings.push(asString.substring(0, startingLength));
}
for (i=startingLength; i < asString.length; i += 3) {
substrings.push(asString.substr(i, 3));
}
formattedNumber = substrings.join(',');
if (isNegative) {
formattedNumber = '-' + formattedNumber;
}
document.getElementById('test').value = formattedNumber;
}
<input type="number" id="test" class="test" onkeypress="numberWithCommas(this.value)">
Я думаю, вам нужно использовать тайм-аут вокруг установки элемента стоимость. –
, когда вы видите консоль, значение напечатано в порядке, но как привести их внутрь типа ввода – Bugfixer
использовать 'onkeyup' вместо – dandavis