0

我有一个带有 jQ​​uery 的 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 回答