进度条填写表单输入

时间:2015-01-08 15:56:13

标签: jquery jquery-ui uiprogressbar

我试图让这个进度条工作,但我一直得到错误的结果。问题是当我填写第一个输入(无论输入什么),然后我得到60%而不是指定输入的百分比。

$(function () {
$("#progressbar").progressbar({
  value: 0
});

$("#profil input").change(function () {
    var pbVal = 0;
    if ($("#name").val().length > 0) pbVal += 10;
    if ($("#prenoun").val().length > 0) pbVal += 10;
    if ($("#birthday").val().length > 0) pbVal += 10;
    if ($("#telephone").val().length > 0) pbVal += 10;
    if ($("#region").val().length > 0) pbVal += 10;
    if ($("#ville").val().length > 0) pbVal += 10;
    if ($("#etablissement").val().length > 0) pbVal += 10;
    if ($("#matiere").val().length > 0) pbVal += 10;
    if ($("#etablistud").val().length > 0) pbVal += 10;
    if ($("#niveau").val().length > 0) pbVal += 10;
    if ($("#branche").val().length > 0) pbVal += 10;
    $("#progressbar").progressbar("option", "value", pbVal);
    return false;
});

});

请问任何解决方案?这是jsfiddle

1 个答案:

答案 0 :(得分:3)

您输入的

.val()返回'默认'因此长度将大于0.尝试将其更改为此

if ($("#name").val().length > 0) pbVal += 10;
if ($("#prenoun").val().length > 0) pbVal += 10;
if ($("#birthday").val().length > 0) pbVal += 10;
if ($("#telephone").val().length > 0) pbVal += 10;
if ($("#region").val() != 'default') pbVal += 10;
if ($("#ville").val() != 'default') pbVal += 10;
if ($("#etablissement").val().length > 0) pbVal += 10;
if ($("#matiere").val().length > 0) pbVal += 10;
if ($("#etablistud").val() != 'default') pbVal += 10;
if ($("#niveau").val() != 'default') pbVal += 10;
if ($("#branche").val() != 'default') pbVal += 10;