2009-05-13 4 views
16

최대 금액 인 & 사이의 모든 숫자가 아닌 jQuery 슬라이더에서 값을 슬라이드하도록 설정하려고합니다.jQuery UI 슬라이더 고정 값

"0, 25, 50, 100, 250, 500"을 사람들이 미끄러질 수있는 유일한 양으로 원하지만 어떻게 완료했는지는 알 수 없습니다. "가치"부분에 두는 것은 아무 것도하지 않는 것처럼 보입니다.

<script type="text/javascript"> 
$(function() { 
    $("#slider-range").slider({ 
     range: true, 
     min: 0, 
     max: 500, 
     values: [100, 250], 
     slide: function(event, ui) { 
      $("#amount").val('Miles: ' + ui.values[0] + ' - ' + ui.values[1]); 
     } 
    }); 
    $("#amount").val('Miles: ' + $("#slider-range").slider("values", 0) + ' - ' + $("#slider-range").slider("values", 1)); 
}); 
</script> 

답변

40

값 초기화 프로그램은 여러 엄지 슬라이더의 시작 위치를 제공하기위한 것입니다.

가능한 값의 배열을 제공하고 슬라이더를 변경하여 해당 배열의 범위를 매핑 한 다음 프레젠테이션 비트를 변경하여 해당 배열 요소를 읽습니다.

범위 슬라이더 : 다중 엄지 버전

$(function() { 
    var valMap = [0, 25, 50, 100, 250, 500]; 
    $("#slider-range").slider({ 
     min: 0, 
     max: valMap.length - 1, 
     values: [0, 1], 
     slide: function(event, ui) {       
      $("#amount").val('Miles: ' + valMap[ui.values[0]] + ' - ' + valMap[ui.values[1]]);     
     }  
    }); 
    $("#amount").val('Miles: ' + valMap[$("#slider-range").slider("values", 0)] + ' - ' + valMap[$("#slider-range").slider("values", 1)]); 
}); 

enter image description here

범위 슬라이더 : 단일 엄지 버전


$(function() { 
    var valMap = [0, 40, 50, 63, 90, 110, 125, 140, 160, 225, 250]; 
    $("#slider-range").slider({ 
     min: 1, 
     max: valMap.length - 1, 
     value: 0, 
     slide: function(event, ui) {       
      $("#amount").val(valMap[ui.value]);     
     }  
    }); 
    //$("#amount").val(valMap[ui.value]); 
}) 

;

최소 HTML :

<input type="text" id="amount" value="40" /> 
<div id="slider-range"></div> 

enter image description here

+0

+1 이것은 신기 할 작품! 값에 고정 된 시각적 양의 너비가 있어야하는 경우에 좋습니다. 이제는 Yii에서이 동작을 구현하기 위해 CJuiSliderInput을 확장해야합니다.) –

+2

@great_llama, 귀하의 버전은 슬라이더에 2 개의 엄지 손가락을 생성하므로 둘 다를 드래그 할 수 있습니다. 드래그하는 데 엄지 손가락 하나만 필요할 경우를 대비하여 수정했습니다. http://jsfiddle.net/8B4wY/2/. 누군가가 정확히 하나의 버전을 필요로하는 경우를 대비하여 답변에 추가하겠습니다. 여기에 속하지 않는다고 생각하면 제거하십시오. – rmagnum2002

+0

두 번째 예 :'range slider : single-thumb version''min' 값은'0'이어야합니다. – kolobok

관련 문제