0

私はjqueryにかなり慣れていませんが、これは質問です。以下のコードから、タグ内にそれぞれ3つのスライダーを作成しました。3つのそれぞれに入力フィールドがあり、スライダーを移動すると、スライダーの現在の値が表示されます(単純なjQueryUIプラグインスライダー)。最後の行には、すべてのスライダーをリンクする別のプラグインが含まれているため、すべてのスライダーが合計100になり、他のスライダーが移動すると移動します。

私が抱えている問題は、1つをスライドすると、その値が変化して表示されますが、他の値は変化しないことです。コードを追加するだけですべての値を変更できますが、スライダーごとに個別の値を表示できるように、(この)ui.valueを取得する方法がわかりません。

3番目のスライダーでそれを実行しようとしましたが、設定方法では、移動している現在のスライダーと同じui.valueしか使用しません。

誰かが私がそれを変更する必要があるときに他のスライダーの(これ)ui.valueを取得するための解決策を手伝ってもらえますか?

($(function() {
    $( "#RedSlider" ).slider({
        orientation: "horizontal",
        range: "min",
        min: 0,
        max: 100,
        value: 1,
        animate: true,
        slide: function( event, ui ) {
        $( "#RedValue" ).val( ui.value );}
    });
    $( "#RedValue" ).val( $( "#RedSlider" ).slider( "value" ) );
});

$(function() {
    $( "#BlueSlider" ).slider({
        orientation: "horizontal",
        range: "min",
        min: 0,
        max: 100,
        value: 1,
        animate: true,
        slide: function( event, ui ) {
        $( "#BlueValue" ).val( ui.value );}
    });
    $( "#BlueValue" ).val( $( "#BlueSlider" ).slider( "value" ) );
});

$(function() 
{
    $( "#EmptySlider" ).slider({
        orientation: "horizontal",
        range: "min",
        min: 0,
        max: 100,
        value: 98,
        animate: true,
        slide: function( event, ui ) 
        {
            $( "#EmptyValue" ).val( ui.value );
                            $( "#RedValue").val(ui.value);
                            $( "#BlueValue").val(ui.value);
        }
    });
    $( "#EmptyValue" ).val( $( "#EmptySlider" ).slider( "value" ) );
            $( "#RedValue").val($("RedSlider)").slider("value"));
            $( "#BlueValue").val($("RedSlider)").slider("value"));
});*/

$('div:gt(2)').slider().linkedSliders({policy: 'last'});
4

2 に答える 2

1

あなたのコードは一度だけ実行されます。次の行を変更する必要があります。

$( "#BlueValue" ).val( $( "#BlueSlider" ).slider( "値" ) );

必要なときにいつでもスライダーの値を選択するときに、何か違うものにすること。

于 2014-11-11T18:58:56.933 に答える
0

このコード:

$( "#BlueValue" ).val( $( "#BlueSlider" ).slider( "value" ) );

一度だけ実行されます。値が継続的に更新されるように、スライダーの値が変更されたコールバックにそれを含める必要があります。

于 2013-02-11T23:03:16.063 に答える