带有两个处理程序的jQuery范围滑块。读取最小值和最大值

时间:2012-05-27 16:02:36

标签: javascript html jquery-ui

我正在使用jQuery UI范围滑块,我有两个隐藏的输入来存储滑块的最小值和最大值,以便稍后将它们用于PHP查询。但是,我的最小值和最大值变量不会存储实际值,而是存储它们之前的值。因此,对于实际值,将存在+ -1变化。我想我必须找到一种方法来在提交表单之前更新值。我正在使用的代码是

<script>
$(function() {

    $("#slider-range").slider({
        range: true,
        min: 1,
        max: 10,
        values: [ 1, 10 ],
        slide: function( event, ui ) {
            $("#minvalue").val($("#slider-range").slider("values", 0));
            $("#maxvalue").val( $("#slider-range").slider("values", 1));
            $("#amount").val(ui.values[ 0 ] + " - " + ui.values[ 1 ]);          
        }
    });
    $("#amount").val( $("#slider-range").slider("values", 0) +
        " - " + $("#slider-range").slider("values", 1));    
});
</script>

    <input type="hidden" id="minvalue" name="minvalue" />
    <input type="hidden" id="maxvalue" name="maxvalue" />

1 个答案:

答案 0 :(得分:1)

这里试试这个:

$(function() {

$("#slider-range").slider({
    range: true,
    min: 1,
    max: 10,
    values: [0, 11],
    slide: function(event, ui) {
        $("#minvalue").val(ui.values[0]);
        $("#maxvalue").val(ui.values[1]);
        $("#amount").val(ui.values[0] + " - " + ui.values[1]);
    }
});
$("#amount").val($("#slider-range").slider("values", 0) + " - " + $("#slider-range").slider("values", 1));

});​