0

この進行状況バーを機能させようとしていますが、間違った結果が得られ続けています。問題は、最初の入力 (入力に関係なく) を入力すると、指定された入力のパーセンテージではなく 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があります

4

1 に答える 1

4

ドロップダウンの .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;
于 2015-01-08T16:15:11.677 に答える