进度条填充表单输入

Posted

技术标签:

【中文标题】进度条填充表单输入【英文标题】:Progress bar fill with form inputs 【发布时间】:2015-01-08 15:56:13 【问题描述】:

我正在尝试让这个进度条正常工作,但我一直得到错误的结果。问题是当我填写第一个输入(无论输入什么)时,我得到 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】: 您的下拉列表的

.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;

【讨论】:

感谢@cspete,它现在工作正常。我也忘记了选择目标,使用 .val() 比使用 .length 更好。再次感谢

以上是关于进度条填充表单输入的主要内容,如果未能解决你的问题,请参考以下文章

在Swift 4中输入文本字段时填充百分比的进度条

Windows 窗体嵌入式进度条后台工作者

cocoscreator之微信小游戏的进度条(填充模式)

uview表单填了几条进度条

使用文本和进度条填充 DataGridView

iOS 环形下载进度条