Search code examples
jqueryjquery-uiuislider

jquery ui slider display values


I have a slider with values 1 - 5. it updates a hidden input with the ID of 'days'.

$(function() {
    $("#slider").slider({
        value: 3,
        min: 1,
        max: 5,
        step: 1,
        slide: function(event, ui) {
            $("#days").val(ui.value);
        }
    });
    $("#days").val($("#slider").slider("value"));
});​

I want to add labels to the slider

so at position 1 it would say 1 hour, 2 would say 12 hours, 3 would say 1 day, 4 = 3 days and 5 = 1 week.

but i want to keep the value of days as 1 -5

how is this possible?

EDIT

Want to copy this slider example


Solution

  • Just arrange your label container (e.g. I added a div) and when you slide, update it.

    Live version : http://jsfiddle.net/8ek4a/5/

    Code :

    $(function() {
       var labelArr = new Array("", "1 hour", "12 hours", "1 day", "3 day", "1 week");
       $( "#slider" ).slider({
           value:3,
           min: 1,
           max: 5,
           step: 1,
           slide: function( event, ui ) {
              $( "#days" ).val( ui.value );
              $("#label").html(labelArr[ui.value]);
           }
       });
       $( "#days" ).val($( "#slider" ).slider( "value" ) );
       $("#label").html(labelArr[$( "#slider" ).slider( "value" )]);
    });​
    

    UPDATE: Now I have come up with this solution to implement indicator. see http://jsfiddle.net/8ek4a/6/