jquery 数字微调器不适用于浮点数

jquery number spinner not working with float 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>

我该如何解决? 谢谢

Assuming this is from: https://github.com/joshua-s/jquery.nice-number

快速查看源代码显示:

var newValue = currentValue + 1;

所以 nice-number 插件被 硬编码 到 add/subtract +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;'>