簡體   English   中英

如何處理jQuery中數字輸入的更改?

[英]How do I handle number input changes in jQuery?

我正在嘗試使用jQuery和HTML創建一個結帳菜單,但我無法獲得輸入框,以使項目數量可預測。 當我使用光標更改輸入值時,“ price”變量的輸出為“ NaN”。 當我使用箭頭鍵時,價格更新一次,但是在第一次更改后失敗。 如何獲取數字輸入值,將其乘以<p>標記中的文本(價格),以及每次數字增加或減少時更新文本? 到目前為止,我已經擁有了這么多:

這是我的HTML:

<input id="quantity" size="30" type="number" value="1" />
<p id="total">29.99</p>

而我的JS:

$(document).ready(function() {
  function updatePrice() {
  var num = parseInt($("#quantity").val());
  var price = (num) * parseFloat($("#total").text());
  var total = price.toFixed(2);
  $("#total").replaceWith(total);
}
$(document).on("change, keyup, input", "#quantity", updatePrice);
});

JS小提琴。

僅需進行少量更改即可使您的代碼正常工作。 請注意,您仍然需要處理負數(通過字段屬性?)以及0。

$(document).ready(function() {
    // grep the price only once...
    var price = parseFloat($("#total").text());        
    function updatePrice() {        
        var sum, num = parseInt($(this).val(),10);
        // if we have a number
        if(num) {
          // update info text
          sum = num * price;
          $("#total").text(sum.toFixed(2));
        }
    }
    $(document).on("change, mouseup, keyup", "#quantity", updatePrice);
});

小提琴在這里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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