问题 动态设置Bootstrap滑块的值?


我创建了一个滑块如下,

<input id="brightness" onChange="changeBrightness()" data-slider-id='ex1Slider' type="text"
                    data-slider-min="-100" data-slider-max="100" data-slider-step="2" data-slider-value="0"/>

我需要动态设置值到这个滑块。我试过了,

$("#brightness").slider('setValue', 8, true);
$("#brightness").slider('refresh');

但这不起作用。我该怎么做?


4558
2017-11-02 09:26


起源

不确定,但我想 $("#brightness").val(8); 会把它设为8? - Anders
尝试过,但没有工作。 - Nidhish


答案:


请尝试以下脚本:

$(window).load(function() {
    $("#brightness").attr('data-slider-value', 8);
    $("#brightness").slider('refresh');
});

4
2017-11-02 09:28



错误:在初始化之前无法调用滑块上的方法;试图调用方法'刷新'...​​我得到这个错误... - Nidhish
@Nidhish您必须确保在Bootrstrap初始化后代码运行。 (不知道在实践中如何做到这一点。)你可以尝试在点击事件或其他事情上运行它,看它是否有效。 - Anders
我最初加载了bootstrap-slider.js。并在按钮单击事件上尝试了上述代码。然后得到错误“错误:在初始化之前无法在滑块上调用方法;尝试调用方法'值''... - Nidhish


只要 $("#brightness").slider('setValue', 8, true);

刷新初始值 $("#brightness").slider('refresh'); 


4
2018-01-09 14:45



这是唯一对我有用的解决方案 - Osama Abdulsattar


以下是动态滑块值可以执行的一些操作: 的jsfiddle

var slider = new Slider("#budget-slider-1");
var slider2 = new Slider("#budget-slider-2");

slider.on("change", function(slideEvent) {
  var currentValueSlider2 = slider2.getValue();
  slider2.options.min = 80;
  slider2.setValue(100);
});

2
2017-09-22 08:33