#javascript #html #jquery #numbers
Вопрос:
У меня есть хороший счетчик чисел JQUERY, но он не вставляет поплавки, когда я даю запись по 0,01 цифры за раз. вот код: jquery в голове:
<link rel="stylesheet" href="js/jquery.nice-number.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="js/jquery.nice-number.js"></script>
ввод и хороший цифровой скрипт:
<input type="number" value="1.0" name="qty" step="0.1" max="99999" min="0.1">
<script>
$(function () {
$('input[type="number"]').niceNumber();
});
</script>
как я могу это решить?
Спасибо
Комментарии:
1. У вас есть источник для вашего
jquery.nice-number.js
? Предпочтительно работающий CDN. Имеет ли это отношение к вашему вопросу или делает то же самое без него? (Правка: кажется, без этого все работает нормально)
Ответ №1:
Предполагая, что это от: https://github.com/joshua-s/jquery.nice-number
Быстрый взгляд на источник показывает:
var newValue = currentValue 1;
таким образом, плагин nice-number жестко запрограммирован только для добавления/вычитания 1/-1
Это обеспечивает обратный вызов, поэтому вы можете изменить значение, но, возможно, лучше изменить nice-number.js для перехода на шаг приращения через настройки.
$(function() {
$('input[type="number"]').niceNumber({
onDecrement: ($el, newValue, settings) => {
$el.val(Math.round((newValue 0.9) * 100) / 100);
console.log($el.val())
},
onIncrement: ($el, newValue, settings) => {
//console.log($el.val())
$el.val(Math.round((newValue - 0.9) * 100) / 100);
console.log($el.val())
}
});
});
<!--<link rel="stylesheet" href="js/jquery.nice-number.css">-->
<link ref="stylesheet" href="https://cdn.jsdelivr.net/npm/jquery.nice-number@2.1.0/dist/jquery.nice-number.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<!--<script src="js/jquery.nice-number.js"></script>-->
<script src="https://cdn.jsdelivr.net/npm/jquery.nice-number@2.1.0/dist/jquery.nice-number.js"></script>
<input type="number" value="1.0" name="qty" step="0.1" max="99999" min="0.1" style='width:200px;'>
Комментарии:
1. есть ли способ, при котором я использую как первый тип, где шаг равен 1 цифре за раз, так и 0,1 цифре. может быть, нацеливание на ввод с определенным классом?
2. Вы можете вызвать .niceNumber отдельно для каждого ввода / группы типов ввода.
$(".niceNumberInt").niceNumber(); $(".niceNumber1dp").niceNumber({onIncrement...