0

これはそんなヘッドスクラッチャーです!

このスライダーは正常に動作します:

http://jsfiddle.net/EuTA8/

 $("#s2").slider({
        min: 0,
        max: 200,
        step: .1,
        value: 100.0,
        values: [200.0],
        slide: function(event, ui) {
           for (var i = 0; i < ui.values.length; ++i) {
              $("input.v2[data-index=" + i + "]").val(ui.values[i]+ " %");
           }
        }
});

しかし、スライダーの位置を「100.0」にプリセットしたいと思います。これを行うべき属性があるにもかかわらず:

    value: 100.0,

...jquery UI はそれを無視し、スライダーを最大設定にします。

values 属性から角かっこ (そこにあるはず?!) を削除して、次のように作成します。

    values: 200.0,

そして、スライダーの位置が美しくプリセットされます。しかし今、スライダーをドラッグすることはできません! ここで私が意味することを見てください:

http://jsfiddle.net/EuTA8/1/

何が起こっている?私がする必要があるのは、位置をプリセットすることだけです。(入力要素の値は気にしないでください。)

どうもありがとう。

4

2 に答える 2

1

試す:

$("#s2").slider({
    min: 0,
    max: 200,
    step: .1,
    values: [100.0]
    slide: function(event, ui) {
       for (var i = 0; i < ui.values.length; ++i) {
          $("input.v2[data-index=" + i + "]").val(ui.values[i]+ " %");
       }
    }
});

単に行を削除してvalue: 100.0、に変更values: [200]することができますvalues: [100]

valuesはい、配列であるため、角括弧はそこにあるはずです。

于 2013-07-28T10:13:56.670 に答える
1
$("#s2").slider({
    min: 0,
    max: 200,
    step: .1,
    value: 100.0,
    values: [100.0],
    slide: function(event, ui) {
       for (var i = 0; i < ui.values.length; ++i) {
          $("input.v2[data-index=" + i + "]").val(ui.values[i]+ " %");
       }
    }
});

[200.0]に変更[100.0]

于 2013-07-28T10:11:52.447 に答える