【问题标题】:jQuery range slider with two handlers. Reading min and max values values带有两个处理程序的 jQuery 范围滑块。读取最小值和最大值
【发布时间】:2012-05-27 16:02:36
【问题描述】:

我正在使用 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" />

【问题讨论】:

    标签: javascript html jquery-ui


    【解决方案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));
    
    });​
    

    【讨论】:

    • 这不起作用,因为在转到最后一个值之前,您实际上无法知道滑块按钮的位置。我不知道你是否明白我的意思,但可以说我很高兴上下滑动按钮。假设我想在去那里之前选择值 5,我可以在 6 或 4 中。
    • 这不是“对齐增量”滑块吗?
    • 如果这就是您所要求的,则增量不可见。整个脚本就是您在我的帖子中看到的
    • @tpaksu:OP 试图告诉你值不是 selected-1 而是先前的选择......所以如果你选择 50 然后转到 4,隐藏字段将显示为 50... 然后将其再次移动到 35,隐藏将显示为 4。明白了吗?
    • 由于某种原因,现在滑块不可见..请稍等一下,看看出了什么问题,我会尽快回复您
    猜你喜欢
    • 1970-01-01
    • 2020-04-30
    • 1970-01-01
    • 1970-01-01
    • 2014-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多