2013-04-01 22 views
20

Jak uzyskać wartości suwaka suwakowego do ukrytych iputów?Jak uzyskać wartość suwaka bootstrap?

<input type="hidden" name="min_value" id="min_value" value=""> 
<input type="hidden" name="max_value" id="max_value" value=""> 

$(function() { 
    $("#slider-range-s1").slider({ 
     range: true, 
     min: 0, 
     max: 500, 
     value: [ 0, 500 ] 
    }); 
}); 
+1

Spróbuj '$ (selektor) .slider (” getValue ') '. –

Odpowiedz

53

Myślę, że obecnie jest uszkodzony.

Dokumentacja stany:

Metody

.slider ('getValue')

Get wartość.

Jak zawsze, nazywając $('#sliderDivId').slider('getValue') powraca selektor jQuery zamiast wartości ...

Na razie można ręcznie chwycić go od obiektu danych ... $('#sliderDivId').data('slider').getValue()

+0

Twoja odpowiedź zaoszczędziła mi i mojemu partnerowi parowania wiele czasu i kłopotów! Dziękujemy! – raskhadafi

+0

Twoja odpowiedź była poprawna. Zaoszczędził mi mnóstwo czasu. dzięki – Wikki

+0

Uratowałeś mi czas, Pozdrawiam. – cac

6

szybki fix:

$.fn.slider = function (option, val) { 

    if (typeof option == 'string') { 
     if (this.length) { 
      var data = this.eq(0).data('slider'); 
      if (data) 
       return data[option](val); 

      return null; 
     } 
    } 

    return this.each(function() { 
     var $this = $(this), 
      data = $this.data('slider'), 
      options = typeof option === 'object' && option; 
     if (!data) { 
      $this.data('slider', (data = new Slider(this, $.extend({}, $.fn.slider.defaults, options)))); 
     } 
    }) 
}; 
+1

rekwizyty do naprawy tej wtyczki, może chcesz wysłać żądanie ściągnięcia! –

1

w chwili pisania tego trochę łuszcząca ale można zrobić to działa:

1/Upewnij się, że określasz pusty zakres początkowy "wartość [0]". Dopóki tego nie zrobisz, jego wewnętrzne pole wartości zostanie niezdefiniowane, np.

$('#setBidDialogSlider').slider({ value: [0], max: max, step: 0.2, formater: function(v) { return v.toFixed(2)+"BTC" } }); 

2/Teraz wreszcie można złapać wartość w przypadku

$('#setBidDialogSlider').slider().on('slide', function(ev) { 
    $scope.dialog.order_value = ev.value*$scope.dialog.price; 
}); 
+1

Próbowałem tego, ale ev.value wraca undefined. = ( – cj5

+0

Dziękuję! 'Ev.value' działa idealnie! Zwraca tablicę dla suwaka zasięgu. – kaarto

1

Wiem, że późno, ale to nadal jest złamany, ale naprawić go otworzyć bootstrap-sliders.js i wstrzyknąć te trzy rzeczy:

sam koniec pierwszej funkcji: Slider:

this.calculateValue(); 

tuż przed: return val; w funkcji calculateValue

grandVal = val; 

po funkcji $.fn.slider:

$.fn.sliderValue = function(){ 
    return grandVal; 
}; 
var grandVal; 

Teraz można uzyskać dostęp do wartości przez $('#MySliderId').sliderValue()

2

Problem polega na tym, że jest więcej niż jeden element dowcipny h ten sam identyfikator (suwak div i wejście wewnątrz suwaka div), w tym przykładzie $ ("# sliderDivId"). Jeśli wybierzesz element wejściowy za pomocą JQuery, możesz użyć interfejsu API suwaka.

$('input[id="sliderDivId"]').slider('getValue') 
0

można użyć tego z wbudowaną funkcję

$("#slider-range-s1").slider({ 
    range: true, 
    min: 0, 
    max: 500, 
    value: [ 0, 500 ] 
    slide: function(event, ui) { 
     // u could use this function 
     $(".min-slider-value").html("$" + ui.values[ 0 ]); 
     $(".max-slider-value").html("$" + ui.values[ 1 ]); 
    }, 
    change: function(event, ui) { 
     // or u could use this function 
     $(".min-slider-value").html("$" + ui.values[ 0 ]); 
     $(".max-slider-value").html("$" + ui.values[ 1 ]); 
    } 
}); 

i dziękuję myślałem coud podzielić się tym z wami: D