如何获取滑块引导程序的值?

时间:2013-04-01 02:02:50

标签: javascript twitter-bootstrap slider bootstrap-slider

如何将滑块引导程序的值设置为隐藏输入?

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

6 个答案:

答案 0 :(得分:55)

我认为它目前已经破裂了。

文档说明:

  

方法

     

.slider( '的getValue')

     

获得价值。

然而,调用$('#sliderDivId').slider('getValue')会返回jQuery选择器而不是值...

现在你可以手动从数据对象中抓取它...... $('#sliderDivId').data('slider').getValue()

答案 1 :(得分:6)

快速修复:

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

答案 2 :(得分:3)

问题是,滑块 div 中有多个具有相同ID的元素(滑块 div 输入) ),在这个例子中$('#sliderDivId')。如果使用JQuery选择input元素,则可以使用滑块API。

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

答案 3 :(得分:1)

在撰写本文时,它有点不稳定,但你可以让它发挥作用:

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

答案 4 :(得分:1)

我知道我迟到了但是这仍然被打破,但要修复它bootstrap-sliders.js并注入这三件事:

第一个函数的结尾:Slider

this.calculateValue();

之前的return val;函数

中的calculateValue
grandVal = val;

$.fn.slider函数之后:

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

现在您可以按$('#MySliderId').sliderValue()

访问该值

答案 5 :(得分:0)

您可以使用内置函数

$( "#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