0

我正在使用bootstrap-slider.js. 我的问题是我无法将输入数字与幻灯片链接。如果输入数字改变,我也想滑动改变。

滑块

<div id="slider-year" class="search-block">
  <h2 class="title">Production year</h2>
  <div class="slider-year-amount">
    <span class="pull-left">1900</span>
    <span class="pull-right">2017</span>
  </div>
  <input type="text" class="year-slider" style="width:100%" data-slider-min="1900" data-slider-max="2017" data-slider-step="1" data-slider-value="[1900,2017]" />
  <div class="row">
    <div class="year-box">
      <div class="col-lg-6">
        <label>From</label>
        <input type="number" min="1900" max="2019" class="form-control" placeholder="1900" id="minYear" value="1900" name="year_since">
      </div>
      <div class="col-lg-6">
        <label>To</label>
        <input type="number" min="1901" max="2020" class="form-control" placeholder="2017" id="maxYear" value="2017" name="year_to">
      </div>
    </div>
  </div>
</div>

我如何尝试更新滑块:

jQuery("#minYear").change(function () {
    jQuery("#slider-year").slider('setValue', jQuery(this).val());
});

如果有人好奇,这里还有这个滑块的文档,我在那里找不到解决方案:http://www.eyecon.ro/bootstrap-slider

JsFiddle:https ://jsfiddle.net/y95vfds3/6/

4

2 回答 2

1

许多年过去了......无论如何,这是我的解决方案:

$('#year-slider').slider()
  .on('slide', function(ev) {
    $('#minYear').val(ev.value[0]);
    $('#maxYear').val(ev.value[1]);
  });

$('.form-control').on('input', function() {
  let minVal = parseInt($('#minYear').val());
  let maxVal = parseInt($('#maxYear').val());
  $('#year-slider').slider('setValue', [minVal, maxVal])
});

https://jsfiddle.net/p98bcxuv/

于 2020-02-26T10:28:45.347 回答
0

你想要这样吗?

    $("#minYear").change(function() {
      $("#slider-year").slider('setValue', jQuery(this).val());
    });

    val = $('.year-slider').slider();

    $('.year-slider').on('slide', function(ev) {
      $('#minYear').val(ev.value[0]);
      $('#maxYear').val(ev.value[1]);
    });

https://jsfiddle.net/gnanavelr/y95vfds3/7/

https://jsfiddle.net/gnanavelr/y95vfds3/8/

于 2017-08-02T12:13:47.197 回答