0

このコードで動作する jQueryUI スライダーがいくつかあります。

jQuery(document).ready(function ($)
{
    $( '.rwmb-slider' ).each( function() {

        var $this = $( this ),
            $input = $this.siblings( 'input' ),
            $valueLabel = $this.siblings( '.rwmb-slider-value-label' ).find( 'span' ),
            value = $input.val(),
            options = $this.data( 'options' );

        if ( !value )
        {
            value = 0;
            $input.val( 0 );
            $valueLabel.text( '0' );
        }
        else
        {
            $valueLabel.text( value );
        }

        // Assign field value and callback function when slide
        options.value = value;
        options.slide = function( event, ui )
        {
            $input.val( ui.value );
            $valueLabel.text( ui.value );

        };

        $this.slider( options );    

    });

});

JSFIDDLE: http://jsfiddle.net/q2BwE/

すべてがうまく機能しますが、値が「0」とは異なるスライダーの平均をテキスト入力に表示できる関数をこのコードに統合するのに苦労しています。

みんな助けてくれませんか?ありがとうございました

4

1 に答える 1

1

これを行う 1 つの方法を次に示します。

テキスト フィールド ( ) を追加して、<input name="average" type="text" readonly />いずれかのスライダーの移動が終了した後に計算される平均を表示しました。次に、計算を行うために次のコードを追加しました。

options.change = function (event, ui) {
    var avg = 0;
    var div = 0;
    $('.rwmb-slider').each(function () {
        avg += ($(this).slider('value'));
        if($(this).slider('value')>0)div++
    })
    $('input[name=average]').val(avg/div);
};
于 2013-04-09T14:44:33.900 に答える