2012-04-03 26 views
0

私のページにjQuery UIスライダがあります。それは以下から始まります:jQuery UI Sliderのユーザー変更オプションはどのようにすることができますか?

$("#slider").slider({ 
    value: 6, 
    min: 6, 
    max: 120, 
    step: 6 
}); 

これはうまくいきます。

オプションの横に6,12、および24の選択要素があります。 私が達成したいのは、ユーザーが12を選択し、スライダのステップ、分、および値がすべて12になります(24と同じです)。私はすでに機能を構築しようとしています

$('#dropdown').change(function(){ 
    $("#slider").slider("option", "value", $(this).val()); 
    $("#slider").slider("option", "min", $(this).val()); 
    $("#slider").slider("option", "step", $(this).val()); 
    $("#slider").slider("option", "max", 120); 
}); 

しかし、このすべてがする値12に移動されていることを確認している、その後、スライダーをクリックすると、それはすべての方法エンド(120)にジャンプし、そこにとどまります。

スライダを破棄してゼロから再作成する必要はありますか?

EDIT#1:

私はFirebugのをダウンロードして、コンソールでスライダーをチェックし、値がすべて(分= 12、値= 12、ステップ= 12、最大= 120正しい戻ってきているんでした)。誰もがなぜそれほど頑固で、ジャンプ/最後に固執しているのか知っていますか?

+0

私たちにこれに関するデモを見せてもらえますか? – Starx

+0

私はフィドルを作り、それが同じことをするかどうかを見ます。 –

答えて

2

問題が見つかりました。 スライダのオプションを変更するために使用する前に、<select>の値をintに解析する必要があります。

$('#dropdown').change(function() 
{ 
    var currentVal = parseInt($("#slider").slider("value")); 
    var newOptions = parseInt($(this).val()); 
    $("#slider").slider("value", currentVal); 
    $("#slider").slider("option", "min", newOptions); 
    $("#slider").slider("option", "step", newOptions); 
    $("#slider").slider("option", "max", 120); 
}); 

実施例

http://jsfiddle.net/DigitalBiscuits/VSBCT/1/

+0

フィドルサンプルありがとう!私のスライダーが明日までに奇妙な動作をしている理由を他の人が教えてくれないなら、私はおそらくこれを行うでしょう。 3つのスライダをあらかじめ作成することはしませんが、選択オブジェクトの値に基づいてスライダを作成します。 –

+0

この回答を変更しました。あなたがそれを見たことがあるかどうかは、私がした前でも後でもわからない この新しい機能は、必要に応じて機能します。 –

+0

TRILLION KUDOSあなたに!これは私を数日間運転しました!どうもありがとうございます! –

0

実装は正しいです。しかし結果をキャッシュすることができます

$('#dropdown').change(function(){ 
    var val = this.value; 
    $("#slider").slider("option", "value", val); 
    $("#slider").slider("option", "min", val); 
    $("#slider").slider("option", "step", val); 
    $("#slider").slidYou can er("option", "max", 120); 
}); 
+0

いいえ、申し訳ありません。これは問題を解決しませんでした。そして、私は$(this)).val()/ this.valueをキャッシュすることができることを知っています。 –

関連する問題