2015-11-02 6 views
9

ich einen Schieberegler wie unten erstellt,Dynamisch Wert des Bootstrap Sliders setzen?

<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"/> 

Ich brauche Wert zu diesem Regler dynamisch einzustellen. Ich habe versucht,

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

Aber das funktioniert nicht. Wie kann ich es tun?

+1

Nicht sicher, aber ich denke '$ (" # Helligkeit "). Val (8);' würde es auf 8 setzen? – Anders

+0

Versucht es, aber nicht funktioniert. – Nidhish

Antwort

4

Versuchen Sie das folgende Skript:

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

Fehler: Methoden können nicht vor der Initialisierung auf dem Schieberegler aufgerufen werden. versucht, die Methode 'Refresh' aufzurufen ... bekomme diesen Fehler ... – Nidhish

+0

@Nidhish Sie müssen sicherstellen, dass der Code ausgeführt wird, nachdem Bootrstrap initialisiert wurde. (Sie wissen jedoch nicht, wie Sie das in der Praxis tun sollten.) Sie könnten versuchen, es auf einem Klick-Ereignis oder etwas auszuführen, nur um zu sehen, ob es funktioniert. – Anders

+2

Ich habe bootstrap-slider.js zuerst geladen. Und probierte den obigen Code auf einem Button Click Event. Dann erhalten Fehler "Fehler: kann Methoden auf Schieberegler vor der Initialisierung nicht aufrufen; versucht, Methode 'Wert' 'aufzurufen ... – Nidhish

2

Hier sind ein paar Dinge, die Sie mit dem Schieberegler Wert tun könnte, dynamisch: 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); 
}); 
1

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

Refresh mit den Anfangswerten $("#brightness").slider('refresh');