1

選択が変更されたとき、または入力が変更されたときにui jqueryスライダーを更新するのに問題があります-これを解決するためのソースに関するアイデアはありますか?

$('.application-progress').slider({
    range: "min",
    min: 0,
    max: 100,
    animate: true,
    slide: function(event, ui){
        $("#progress").html(ui.value+"%");
    }
});
$("#progress").html($(".application-progress").slider("value")+"%");

$('input').focusout(function(){
    var percentage = 0;
    $('input').each(function(){
        if($(this).val() != "")
            percentage += 10;
    });
    $("#progress").slider({value: percentage});
    $("#progress").html($(".application-progress").slider("value")+"%");
});​

jsfiddleに追加しました:http://jsfiddle.net/Ykx5f/1/

4

2 に答える 2

0

それはあなたが達成しようとしていることですか?

$("input, select").change(function() {
    var percentage = 0;
    $('input, select').each(function() {
        if ($.trim(this.value) != "") percentage += 10;
    });
    $(".application-progress").slider("value", percentage);

    $("#progress").html(percentage + "%");
});​

デモ:http: //jsfiddle.net/Ykx5f/9/


そして、これが更新されたバージョンで、入力フィールドの数に基づいてパーセンテージを自動的に計算します。

$("input, select").change(function() {
    var fields = $("input, select");
    var percentage = 100 * fields.filter(function() {
        return $.trim(this.value) != "";
    }).length / fields.length;

    $(".application-progress").slider("value", percentage);
    $("#progress").html(percentage + "%");
});​

デモ:http: //jsfiddle.net/Ykx5f/11/

于 2012-09-25T10:19:09.540 に答える
0

あなたのフィドルを更新しました。focusout/blur ではなく、change イベントにアタッチします。

于 2012-09-25T10:16:01.197 に答える