NoUISlider 与输入绑定

NoUISlider Bind with Input

我正在使用 noUISlider 来允许用户输入数字。它工作正常,但现在我想添加一个输入,以便能够在不拖动它的情况下更新 nouislider 的值。但有些我无法让它发挥作用。下面是我的代码的样子:

  <div class="col-sm-1">
      <input type="number" min="1" max="24" step="1" class="form-control input-sm" name="pointstopredicts" id="pointstopredicts" value="10" required="true" />
   </div>
   <div class="col-sm-9">
      <div id="rangesliderPP"></div>
   </div>

下面是我的 JS 代码:

<script>
   var skipSlider3 = document.getElementById('rangesliderPP');
   var pointstopredicts = document.getElementById('pointstopredicts');
   noUiSlider.create(skipSlider3, {
     start: [ 6 ],
     connect: 'lower',
      range: {
        'min': 1,
        'max': 24
      }
   });
   skipSlider3.noUiSlider.on('update', function( values, handle ) {
        var value = values[handle];
      pointstopredicts.value = Math.round(value);
     });

     pointstopredicts.addEventListener('change', function(){
        skipSlider3.noUiSlider.set([null, this.value]);
      });
 </script>

当我更改输入的值时,我可以看到更改事件触发器,但也可以看到 nouislider 的更新事件被触发,这导致输入回到其旧值。根据 nouislider set 事件的文档,不应触发 Update 事件。我错过了什么。

JS Fiddle: https://jsfiddle.net/rehanazher/8bcx0uvp/

为滑块设置值时删除“null”。

应该是这样的:

   noUiSlider.create(skipSlider3, {
     start: [ 6 ],
     connect: [true,false],
     step: 1,
      range: {
        'min': 1,
        'max': 24
      }
   });
   skipSlider3.noUiSlider.on('update', function( values, handle ) {
        var value = values[handle];

      pointstopredicts.value = Math.round(value);
     });

     pointstopredicts.addEventListener('change', function(){
        skipSlider3.noUiSlider.set([ this.value]);
      });