0

スライダーのAPIを調べ始めましたが、少し混乱しました。スライダーを含む「結果」​​ページに入力する1つの入力を持つ単純なフォームがあります。ユーザーがスライダーハンドルをスライドすると、値が変化します(つまり、最終的な値は関数で計算されます-入力は数値に追加されます)

現在、スライダーの値をハードコーディングしていますが、元のフォーム入力からの実際の値にしたいと思います。それを行う方法はわかりませんが、私が使用している関数は次のとおりです。

$(function() {
    $("#ds1").slider({
        orientation: "horizontal",
        step: 7,
        range: "min",
        max: 200,
        value: 50,
        slide: refreshTotal,
        change: refreshTotal
    });
});

したがって、値は50にハードコーディングされていますが、入力フィールドでその値を制御したいと思います。refreshTotal関数は、実際の計算を処理します。これと同じように処理する場合は、最大値も設定すると便利です。

ここで検索したところ、スライダーに影響を与える「リアルタイム」入力の例がいくつか見つかりました。また、キーアップなどを使用してその逆もあります。しかし、に基づいて値を設定する方法(おそらくゲッターを使用)がわかりません。ユーザーが送信を押した後のフォーム入力フィールド。JQueryが計算を処理します。

これは非常に単純なことだと思いますが、理解できないようです。

4

2 に答える 2

0

元のフォームから入力フィールドの値を取得したと仮定します。バックエンド言語について言及しなかったため、PHPでそれを行う方法のサンプルコードは次のようになります。

<? $value = $_POST['slider_value']; ?>
var slider_value = <? echo $value; ?>;

次に、言及したAPIドキュメントのセレクターを使用できます。

$( "#ds1" ).slider( "option", "value", slider_value);

同様の方法でスライダーの最大値を処理できます。

$( "#ds1" ).slider( "option", "max", insert_number_here);
于 2012-10-24T21:59:50.330 に答える
0

これは、jQueryとjQueryUIを前提としています。

$(function () {
    var $slider = $('#slider').slider();
    var $input_a = $('#input_a');

    // Set slider value
    $input_a.on('keyup', function () {
        $slider.value($(this).val());

    // Default slider
    }).trigger('keyup');

    // Set input value
    $slider.change(function () {
        $input_a.val($(this).value());
    };
});
于 2012-10-24T22:05:13.640 に答える