【问题标题】:bootstrap-slider link input number with slide change带有幻灯片更改的引导滑块链接输入编号
【发布时间】:2017-08-02 09:28:56
【问题描述】:

我正在使用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/

【问题讨论】:

  • 提供jsfiddle示例
  • @AnkurBhadania 我已经创建了这个 js 小提琴:jsfiddle.net/y95vfds3/2 但它无法让脚本工作,在我的页面上一切正常并且出现了滑块。看起来脚本不起作用,因为无法选择 slider 类。
  • 在jsfiddel中添加滑块js
  • 已添加,谢谢,现在它与我的页面上完全一样,在输入字段中设置值后,它会导致出现新滑块 @AnkurBhadania jsfiddle.net/y95vfds3/6
  • 你的小提琴不起作用。控制台出错。

标签: javascript jquery wordpress twitter-bootstrap bootstrap-slider


【解决方案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/

【讨论】:

    【解决方案2】:

    你想要这样吗?

        $("#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/

    【讨论】:

    • 类似这样的东西,但是您的 js sn-p 在前一个滑块之上创建了另一个滑块,这导致多个滑块彼此重叠。我需要更新前一个,以便范围也更新。 @vel
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-25
    • 1970-01-01
    • 2016-06-02
    • 2019-01-01
    相关资源
    最近更新 更多