簡體   English   中英

如何獲取滑塊引導程序的值?

[英]How to get the value of the slider bootstrap?

如何將滑塊引導程序的值獲取到隱藏的 iputs?

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

我認為它目前已損壞。

文檔說明:

方法

.slider('getValue')

獲取價值。

但是,調用$('#sliderDivId').slider('getValue')返回 jQuery 選擇器而不是值...

現在你可以手動從數據對象中抓取它... $('#sliderDivId').data('slider').getValue()

快速修復:

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

問題是,不存在具有相同ID(滑塊DIV和滑塊DIV中的輸入)超過1個元件,在這個例子$(“#sliderDivId”)。 如果使用 JQuery 選擇輸入元素,則可以使用滑塊 API。

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

在撰寫本文時,它有點不穩定,但您可以使其正常工作:

1/ 確保您指定了一個以“value[0]”開頭的空范圍。 除非您這樣做,否則其內部值字段將變為未定義,例如

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

2/ 現在終於可以捕捉到事件中的值了

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

我知道我遲到了,但這仍然壞了,但要修復它,請打開bootstrap-sliders.js並注入以下三件事:

第一個函數的最后: Slider

this.calculateValue();

就在之前: return val; calculateValue函數中

grandVal = val;

$.fn.slider函數之后:

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

現在您可以通過$('#MySliderId').sliderValue()訪問該值

您可以從內置函數中使用它

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

謝謝你,我想我可以和你們分享這個:D

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM