#javascript #html #jquery
#javascript #HTML #jquery
Вопрос:
У меня есть работающий калькулятор процентов (как показано ниже). 1-й ввод предназначен для начального числа, 2-й ввод предназначен для процента, а 3-й выводит ответ.
Я пытаюсь получить ответ, отображаемый в 3-м поле ввода в виде целого числа (только целое число). Какой JS необходим для достижения этого и отображения значения в поле ввода?
<input type="number" class="input" id="without-visitors">
<input type="number" class="input" id="without-conversion">
<input type="number" class="input" id="without-formfillenquiries" readonly>
<script>
$('#without-visitors, #without-conversion').change(function() {
var withoutvisitors = parseFloat($('#without-visitors').val())
var withoutconversion = parseFloat($('#without-conversion').val())
var withoutformfillenquiries = parseFloat($('#without-formfillenquiries').val())
$('#without-formfillenquiries').val(withoutvisitors * withoutconversion / 100);
});
</script>
Комментарии:
1. Я опробовал ваш код в jsfiddle, кажется, он работает — он помещает только целое число в третий ввод. jsfiddle.net/#amp;togetherjs=bP5r0weMNu
2. Можете ли вы использовать фрагмент стека в своем примере, чтобы мы тоже могли его запустить?
3. Если я добавлю числа 111 и 11 к первым 2 полям, он выведет 12.21, мне нужно, чтобы это было целое число, поскольку оно представляет людей.
4. Моя ошибка. Изменение конечного бита на
.val(Math.round(withoutvisitors * withoutconversion / 100))
округление до ближайшего целого числа.5. Потрясающая вещь, Tzvi2, спасибо за вашу помощь! Это решило проблему 🙂
Ответ №1:
Я добавил функцию Math.round() в последнюю строку — $(‘#without-formfillenquiries’).val(withoutvisitors * withoutconversion / 100); чтобы округлить результат до ближайшего целого целого.
$('#without-visitors, #without-conversion').change(function() {
var withoutvisitors = parseFloat($('#without-visitors').val())
var withoutconversion = parseFloat($('#without-conversion').val())
var withoutformfillenquiries = parseFloat($('#without-formfillenquiries').val())
$('#without-formfillenquiries').val(Math.round(withoutvisitors * withoutconversion / 100));
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="number" class="input" id="without-visitors">
<input type="number" class="input" id="without-conversion">
<input type="number" class="input" id="without-formfillenquiries" readonly>
Комментарии:
1. Я знаю, что это уже упоминалось в комментариях выше, но можете ли вы добавить, что вы сделали, чтобы решить проблему?
2. @evolutionxbox это в этом коде ответов. Я добавил
Math.round()
функцию в последнюю строку$('#without-formfillenquiries').val(withoutvisitors * withoutconversion / 100);
, чтобы округлить результат до ближайшего целого целого.