私は理想的には次のことをしたいフォームに9つの入力フィールドを持っています:
- 各入力には、0 から 100 までの数値を指定できます
- たとえば、1 つの入力に 30、別の入力に 30、別の入力に 40 がある場合、合計すると 100 (%) になり、これが最大値であるため、他のフィールドを無効にします。もちろん、変更すると他の空のフィールドが有効になるため、値なので、再び 100% になるまで
- 入力された値を合計して合計 % をリアルタイムで表示し、ボタンをクリックできるようにします。
これは初めてなので、どこから始めればよいか本当にわかりません。誰かがこれを手伝ってくれたら本当にクールです。
これは私が得た限りです。合計値を変更するには、変更を探すために何かを追加する必要があります。多くはないことはわかっていますが、これまでに得た最善の方法は次のとおりです。
$(".control-group input").change(function() {
var fields = $(".control-group input");
$(fields).each(function() {
var num = parseInt(this.value, 10);
if (!isNaN(num)) {
total += num;
}
if (total == 100){
// disable buttons
console.log('max reached');
} else {
console.log('max not reached');
}
$("#total").text(String(total) + '%');
});
});
上記は私が行った最新のものですが、%を正しく追加していません。何かアイデアはありますか?