cash
、credit_card
、gift_cert
およびの約 4 つの入力フィールドを含むフォームがありtotal
ます。cash, credit_card, gift_cert
3 つのフィールド ( ) の合計が入力フィールド ( ) と等しくない場合、送信ボタンを非表示にしたいと思いますtotal
。私はほとんどそこにいると思いますが、合計を減らそうとすると問題があり、うまくいきaddClass
ません。
ここにjsfiddleがあります。
HTML
<form>
<input type="text" name="cash" value="0.00">
<br />
<input type="text" name="credit_card" value="0.00">
<br />
<input type="text" name="gift_cert" value="0.00">
<br />
<input type="text" name="total" value="100">
<br />
<input type="submit" name="submit" class="test" value="Save">
</form>
JS:
$(':input').bind('keypress keydown keyup change', function () {
var total = parseFloat($(':input[name="total"]').val(), 10),
cash = parseFloat($(':input[name="cash"]').val(), 10),
credit_card = parseFloat($(':input[name="credit_card"]').val(), 10),
gift_cert = parseFloat($(':input[name="gift_cert"]').val(), 10),
payment = (cash + credit_card + gift_cert);
if (payment >= total) {
$(".test").removeClass("test");
} else if (payment < total) {
$(".test").addClass("test");
}
});