webentwicklung-frage-antwort-db.com.de

Wie erhalte ich den Wert des Sliders Bootstrap?

Wie bekomme ich die Werte des Schieberegler-Bootstraps auf verborgene Eingänge?

 <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 ]
    });
 });
20
NETTO

Ich denke es ist momentan kaputt.

Dokumentation heißt es:

Methoden

.slider ('getValue')

Holen Sie sich den Wert.

Beim Aufruf von $('#sliderDivId').slider('getValue') wird jedoch der jQuery-Selektor und nicht der Wert zurückgegeben.

Im Moment könnten Sie es manuell aus dem Datenobjekt herausholen ...$('#sliderDivId').data('slider').getValue()

54
ilovett

schnelle reparatur:

$.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))));
        }
    })
};
6
vadimchin

Das Problem ist, dass es mehr als 1 Element mit derselben ID gibt (den Schieberegler div und den Eingang innerhalb des Schiebereglers div ), in diesem Beispiel $ ('# sliderDivId'). . Wenn Sie das Eingabeelement mit JQuery auswählen, können Sie die Slider-API verwenden.

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

Zum Zeitpunkt des Schreibens ist es etwas flockig, aber Sie können es funktionieren lassen:

1/Stellen Sie sicher, dass Sie einen leeren Bereich angeben, der "Wert [0]" beginnt. Wenn Sie dies nicht tun, wird das interne Wertefeld undefiniert, z.

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

2/Endlich können Sie den Wert im Ereignis ablesen

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

Ich weiß, ich bin spät dran, aber das ist immer noch kaputt, aber um es zu beheben, öffnen Sie bootstrap-sliders.js und injizieren Sie diese drei Dinge:

das Ende der ersten Funktion: Slider:

this.calculateValue();

direkt vor: return val; in der Funktion calculateValue

grandVal = val;

nach der $.fn.slider Funktion:

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

Jetzt können Sie über $('#MySliderId').sliderValue() auf den Wert zugreifen.

1
Joseph Dailey

sie können dies aus der eingebauten Funktion verwenden 

$( "#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 ]);
    }
});

und danke, ich dachte ich könnte das mit euch teilen: D

0
Alaa M. Jaddou