首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jquery滑块将标签字分配给值

Jquery滑块将标签字分配给值
EN

Stack Overflow用户
提问于 2012-01-12 19:44:39
回答 1查看 784关注 0票数 1

这有点像这里发布的问题:Yes or no toggle or slider -但是我不能在这个例子中得到解决方案。

我有一个水平增量范围滑块,我想要修改它,以便将值1-2-3的标注解码为小-中-大

我试过使用数组来解码,但是我就是不能让它正常工作。

这是我到目前为止所知道的:

代码语言:javascript
复制
    <script>
        $(function() {
            $( "#slider-range" ).slider({
                range: true,
                min: 1,
                max: 3,
                step: 1,
                values: [ 2, 3 ],
                slide: function( event, ui ) {
                    $( "#amount" ).val( ui.values[ 0 ] + " - " + ui.values[ 1 ] );
                }
            });
            $( "#amount" ).val( $( "#slider-range" ).slider( "values", 0 ) +
                " - " + $( "#slider-range" ).slider( "values", 1 ) );
        });
    </script>

因此,如果选择了位置2-3(默认情况下),标签将显示为“medium-large”。

任何帮助或指导都将不胜感激!

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-12 20:37:39

那这个呢?

它使用映射器对象而不是数组,但还包括一个返回字符串的函数,而不是自己创建它:

代码语言:javascript
复制
$(function() {

    // mapper    
    var valueMap = {
        1 : "small",
        2 : "medium",
        3 : "large",
        getText : function(arr) {
            return this[arr[0]] + " - " + this[arr[1]];
        }
    };

    // initial range slider values
    var initial = [2, 3];

    // initialize slider
    $( "#slider-range" ).slider({
        range: true,
        min: 1,
        max: 3,
        step: 1,
        values: initial,
        slide: function( event, ui ) {
            $("#amount").val(valueMap.getText(ui.values));
        }
    });

    // initialize value display
    $("#amount").val(valueMap.getText(initial));

});
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8834532

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档