2012-06-26 4 views
9

У меня есть ползунок со значениями 1 - 5. он обновляет скрытый ввод с идентификатором «дней».jquery ui слайдер значения дисплея

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

Я хочу, чтобы добавить метки к ползуну

так в положении 1 было бы сказать, 1 час, 2 сказали бы 12 часов, 3 сказали бы 1 день, 4 = 3 дня и 5 = 1 неделя ,

, но я хочу, чтобы сохранить значение дней 1 -5

, как это возможно?

EDIT

Хотите скопировать этот slider example

ответ

13

Просто организовать свой контейнер этикетки (например, я добавил div), и когда вы двигаете, обновите его.

Живая версия: http://jsfiddle.net/8ek4a/5/

Код:

$(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: Теперь я пришел с этим решением для реализации индикатора. см http://jsfiddle.net/8ek4a/6/

+0

@arttronics! спасибо за исправление. Я пропустил день <> час отношения :( – tusar

+0

Отличное использование Array, которое я не знал, как реализовать в UI Slider. Спасибо! – arttronics

+0

Привет, спасибо, но не совсем то, что им после. См. Обновленный вопрос со снимком экрана. ярлыки, чтобы вы знали, что вы выбираете. –

0

вы можете попробовать этот код

$(function() { 
$("#slider-range").slider({ 
    range: true, 
    min: 12, 
    max: 500, 
    values: [ 75, 300 ], 
    slide: function(event, ui) { 
    $("#amount").val("$" + ui.values[ 0 ] + " - $" + ui.values[ 1 ]); 
    } 
}); 
$("#amount").val("$" + $("#slider-range").slider("values", 0) + "- $" + $("#slider-range").slider("values", 1)); 
}); 
0

Теперь мы можем использовать этот плагин для отображения значений

$(".slider").slider().slider("pips", { 
 
     first: "pip", 
 
     last: "pip" 
 
    }).slider("float");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
 
<link href="https://code.jquery.com/ui/1.10.4/themes/flick/jquery-ui.css" rel="stylesheet"/> 
 
<link href="https://raw.githubusercontent.com/simeydotme/jQuery-ui-Slider-Pips/master/dist/jquery-ui-slider-pips.min.css" rel="stylesheet"/> 
 
<script src="https://code.jquery.com/ui/1.11.1/jquery-ui.js"></script> 
 
<script src="https://raw.githubusercontent.com/simeydotme/jQuery-ui-Slider-Pips/master/dist/jquery-ui-slider-pips.js"></script> 
 

 
<div class="slider"></div>

Fiddle

Смежные вопросы