2009-05-13 12 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つの親指を生成するので、両方をドラッグできます。親指を1本だけドラッグする必要がある場合に備えて、私はそれを修正しました。 http://jsfiddle.net/8B4wY/2/。私はあなたの答えにそれを追加します。誰かがちょうど単一のバージョンを必要とする場合に備えて、これがここに属していないと思うならそれを削除してください。 – rmagnum2002

+0

2番目の例では、 'range slider:single-thumb version'の' min'値は '0'です。 – kolobok

関連する問題