[英]Javascript Subtracting Value Of Input Fields If Checkbox Is Checked
我有三個輸入,既是文本又是一個復選框。
我想知道如果選中此復選框,那么從輸入B中減去輸入A的值並顯示在輸入C中。
如果輸入新的數字,我也希望更改它。
基本上:
1:如果選中此復選框,則從值B中減去值A。
2:如果選中此復選框,則在按鍵時從值B中減去值A。
我已經試過了:
$('#autoCal').change(function () { var start = +$("#start").val(); var end = +$("#end").val(); $("#result").val(end-start); if ($(this).attr("checked")) { $("#end").keyup(function(){ var start = +$("#start").val(); var end = +$("#end").val(); $("#result").val(end-start); return; }); } });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <fieldset data-step="3" data-intro="How many miles did you go? Let us know by filling out this section."> <legend>Mileage</legend> <label for="oStart"><span>Odometer Start<span class="required">*</span></span><input type="text" name="oStart" class="shortInput" id="start"></label> <label for="oEnd"><span>Odometer End<span class="required">*</span></span><input type="text" name="oEnd" class="shortInput" id="end"></label> <label for="mileage"><span>Total Miles<span class="required">*</span></span><input type="text" name="mileage" class="shortInput" id="result"></label> <label for="autoCal"><span>Auto calculate milage?</span><input type="checkbox" id="autoCal" name="autoCal"></label> </fieldset>
autoCal
是復選框。 start
是值A。 end
是值B。 result
是值C。 我已經解決了最初無法計算的問題。 我仍在使用自動計算功能。
$('#autoCal').change(function () {
var start = +$("#start").val();
var end = +$("#end").val();
$("#result").val(Number(end) - Number(start));
if ($(this)[0].checked) {
$("#start, #end").keyup(function () {
var start = +$("#start").val();
var end = +$("#end").val();
$("#result").val(end - start);
});
};
});
編輯1
這有點古怪,但是表達有點錯誤。 我已經更新了代碼來修復它。 (也將type =“ number”添加到輸入中,然后將不允許使用字母)
編輯2
我的壞...雖然我已解決所有問題。 您的表達是正確的,對不起...玩得開心!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.