簡體   English   中英

如果選中了復選框,則用Javascript減去輸入字段的值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM