1
ページの進行状況バーを動的に更新しようとしています。私はその部分を働かせましたが、私はそれに問題があります。まず、ボタンを押し続けると、カウントが増加し続けます。だから、私は両方の上に同じ更新ボタンを持っているときに、その特定のフィールドのために複数のものが起こるのを止めることができますか?私のウェブサイトでは、フォームが別のタブにあるため、同じ更新ボタンを使用しています。第二に、すべての入力を記入すると、15
または20
ではなく、カウンタが35
だけ増加します。私はそれぞれ別々の更新ボタンを持たなければならない解決策がありますか?進行状況バーを動的に更新する
HTML:
<div class="progress">
<div class="progress-bar" data-values="40">0</div>
</div>
<form method="post" action="#" class="basicInfo">
<label>Title:</label>
<input type="text" id="title" class="form-control required" />
<br/>
<label>Price:</label>
<input type="number" id="price" class="form-control required" />
<br/>
<input type="submit" name="submit" value="Update" class="btn" />
</form>
<br />
<form method="post" action="#" class="descriptionInfo">
<label>Description:</label>
<input type="text" id="description" class="form-control required" />
<br/>
<input type="submit" name="submit" value="Update" class="btn" />
</form>
JS:
$(document).ready(function() {
var percentage = 10;
$("[name='submit']").click(function(e) {
e.preventDefault();
if ($("#title").val().length > 0 && $("#price").val() > 0) {
percentage += 20;
$(".progress-bar").css("width", percentage + "%");
$(".progress-bar").text(percentage + "%");
}
if ($("#description").val().length > 0) {
percentage += 15;
$(".progress-bar").css("width", percentage + "%");
$(".progress-bar").text(percentage + "%");
}
});
});
私はあなたのロジックを理解していますが、実装に問題があります。http://jsfiddle.net/L0z0v858/2/を確認してください。デモを投稿することは可能でしょうか? – user4756836
ここにあります:D [jsfiddle.net](http://jsfiddle.net/L0z0v858/3/) –
クイックデモhttp://jsfiddle.net/L0z0v858/4/これはどのようにカウントするためにクラス名を使用します多くの入力は100で割る必要があります。これは入力イベントを使用して%を計算し、各ループが入力を空にするかどうかをチェックします。変更の理由は、フォームに入力を追加したい場合、スクリプトが残りの部分を計算するため、ソースコードに変更を加える必要はありません。 *あなたの数字入力にmin = "0"属性を追加することをお勧めします* – NewToJS