21

如何将滑块引导的值获取到隐藏的输入?

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

6 回答 6

55

我认为它目前已损坏。

文档指出:

方法

.slider('getValue')

获取价值。

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

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

于 2013-05-19T05:34:41.137 回答
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))));
        }
    })
};
于 2013-11-10T18:56:59.837 回答
5

问题是,有超过 1 个具有相同 ID 的元素(滑块div和滑块 div 内的输入在此示例中为 $('#sliderDivId')。如果使用 JQuery 选择输入元素,则可以使用滑块 API。

$('input[id="sliderDivId"]').slider('getValue')
于 2015-05-26T13:03:36.970 回答
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;
});
于 2013-11-26T20:18:00.473 回答
1

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

第一个功能的最后Slider

this.calculateValue();

之前:return val;calculateValue函数中

grandVal = val;

函数后$.fn.slider

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

现在您可以通过以下方式访问该值$('#MySliderId').sliderValue()

于 2014-01-19T04:45:33.030 回答
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

于 2016-06-13T02:20:19.250 回答