根据选项选择更改boostrap滑块中的值

3

我正在尝试在选择选项时更改Bootstrap滑块的限制和范围值。我也尝试了一些方法,但没有成功。我的HTML代码如下:

<div class="form-group">
    <div>
            <h3>Range</h3>
    </div>
    <div class="select">
            <select name="Levels" id="limit" onchange="myChange()">
                     <option value="1">1</option>
         <option value="2">2</option>
          <option value="3">3</option>
            </select>
    </div>

JavaScript代码如下:

var sliderB = new Slider("#ex16b", { min: 0, max: 90, value: [0, 10], focus: true });

function myChange() {

if(document.getElementById("limit").value=="1")
{
document.getElementById("range2").value= "9";
document.getElementById("range1").value= "0";

sliderB.value="[50,70]";
$('#ex16b').slider('setValue', "[50,70]");
}


if(document.getElementById("limit").value=="2")
{
document.getElementById("range2").value= "90";
document.getElementById("range1").value= "10";


}



if(document.getElementById("limit").value=="3")
{
document.getElementById("range2").value= "120";
document.getElementById("range1").value= "0";

var RangeData = document.getElementById("ex2a");


RangeData.getAttributeNode("data-slider-value").value ="[10,20]";


}

CSS是:

.Widthr2 {
padding : 4px;
margin4 : 20px;
width:25px;
text-align:center;}

我分享了 jsfiddle
请提供建议。谢谢。

我在这里更新了代码。http://jsfiddle.net/4rg1g9hs/ 但是不起作用。 - PratapAmitSingh
1个回答

2
请尝试这个 Fiddle: http://jsfiddle.net/9uLydpz3/ HTML 中的 onchange="myChange()" 已被删除,并在 js 中用 jQuery 的 change({... 事件通知器替换。这是因为初始化序列存在问题。
定义滑块的方式也已经改变为 jQuery 方法,以便于更方便地更新。
$("#ex16b").slider({
  min: 0,
  max: 90,
  value: [0, 10],
  focus: true
});

$('#limit').change(function() {
  myChange();
});

function myChange() {

  if (document.getElementById("limit").value == "1") {
    document.getElementById("range2").value = "9";
    document.getElementById("range1").value = "0";

    $("#ex16b").slider('setValue', [50, 70]);  // this is where the setting happens
  }


  if (document.getElementById("limit").value == "2") {
    document.getElementById("range2").value = "90";
    document.getElementById("range1").value = "10";

    $("#ex16b").slider('setValue', [10, 90]);

  }



  if (document.getElementById("limit").value == "3") {
    document.getElementById("range2").value = "120";
    document.getElementById("range1").value = "0";

    $("#ex16b").slider('setValue', [0, 120]);
  }

}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接