web-dev-qa-db-ja.com

初期化がメソッド 'value'を呼び出そうとする前に、スライダーのメソッドを呼び出すことはできません

スライダーに次のコードを使用しています

CssおよびJquery:

<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js"></script> 
<script type="text/javascript" src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>

ASPX:

<p>
   <label for="amount">Value:</label> 
   <input type="text" id="amount" style="border: 0; color: #f6931f; font-weight: bold;" />%
</p> 
<div id="slider-vertical" style="height: 15px; width:800px"></div>
<script type="text/javascript">
    $(function () {
        $("#slider-vertical").slider({
            orientation: "horizantal", range: "min", min: 0, max: 100, value: 60,
            slide: function (event, ui)
            { $("#amount").val(ui.value); }
        });
        $("#amount").val($("#slider-vertical").slider("value"));
    });
</script>

スライダーの値を設定しようとしています:

function UpdateSlider(PhaseInStatusReportVal) {
    $("#slider-vertical").slider("value").val(PhaseInStatusReportVal);
}

私はこのようなものから上記のコードを呼び出しています:

ClientScript.RegisterStartupScript(Me.GetType(), "updatetheslider", "UpdateSlider('" + BCOMSPackageValidationList(0).PhaseInStatusReport.ToString() + "')", True)

しかし、それは上記のエラーをスローしています。

誰か助けてくれませんか?

11
Kapil

別のアプローチを検討しましたか。初期値を使用して非表示フィールドを設定し、コードビハインドから値を入力してから、次のようにします。

$(function () {
    $("#slider-vertical").slider({
        value: $("#hiddenFieldWhatever").val(),
        // setup the rest ...
    });  
});

私はあなたの要件が正しいことを理解したと思います。

8
var slider = $("#slider-vertical");

var a = function() {
    if(slider.slider("instance")) {
        slider.slider('value', 1);
        console.log('set value');
    } else {
        console.log('ERROR: cannot set value prior to initialization');
    }
}

var b = function() {
    slider.slider();
    console.log('initialized');
}

a();
b();
a();
5
Abdul Ahad

スライダーの値を設定するには、 値メソッド を使用する必要があります

$("#slider-vertical").slider("value", PhaseInStatusReportVal);

デモ: フィドル

0
Arun P Johny

スライダーライブラリのON関数のイベントを使用すると、その値を取得できることがわかりました。例:

slider.on('slideStop', function(ev) {
    let value= ev.value; //try ev if you want to see all
    console.log(value);
})

よろしく

0
mrbangybang