jQuery UI Slider在更改选择或输入时更改百分比

时间:2012-09-25 10:10:05

标签: jquery jquery-ui jquery-slider

当更改选择或更改输入时,我在更新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/

2 个答案:

答案 0 :(得分:0)

我已更新您的fiddle。附加到更改事件而不是焦点/模糊。

答案 1 :(得分: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 + "%");
});​

DEMO: 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 + "%");
});​

DEMO: http://jsfiddle.net/Ykx5f/11/