0

範囲スライダーを備えたjQueryを使用したphpページがあります。スライダーが変更されると、jQuery コードは値を合計します。

また、ページが読み込まれたときにこのコードを実行したいと考えています。しかし、 $(window).load(function() {}); 内で関数をトリガーすると、それは起こりません。または $(document).ready(function() {}); で直接。

jQueryコードは次のとおりです。

        $(document).ready(function() {
            $(window).load(function() {
                countSilders();
            });
            function countSliders(){
                var SliderValue = parseInt($("#slider0").val())+parseInt($("#slider1").val())+parseInt($("#slider2").val());
                if (SliderValue==10)
                    $("#submit_next").button("enable");
                else
                    $("#submit_next").button("disable");
                $("#lblsum_scores").text(SliderValue+"/10");
            }
            $(document).on("change","#sliders", function(){
                countSliders();
            });
        });
4

2 に答える 2

1

これを試して:

// First define your function
function countSliders() {
    var SliderValue = parseInt($("#slider0").val()) + parseInt($("#slider1").val()) + parseInt($("#slider2").val());
    if (SliderValue == 10) $("#submit_next").button("enable");
    else $("#submit_next").button("disable");
    $("#lblsum_scores").text(SliderValue + "/10");
}

// Run on ready, don't use ready and then on load, that will never happen
// And i changed the on() to change() 
$(document).ready(function(){
    countSilders();
    $("#sliders").change(function(){
        countSliders();
    });
});
于 2013-03-26T15:14:13.103 に答える
0

あなたはできるはずです:

function countSliders(){
   ...
}
$(document).ready(function() {
    countSilders(); // fire it on load

    // bind it to sliders
    $(document).on("change","#sliders", function(){
        countSliders();
    });
});
于 2013-03-26T15:14:30.893 に答える