gpt4 book ai didi

javascript - 如何处理 jQuery 中的数字输入更改?

转载 作者:行者123 更新时间:2023-11-28 18:40:50 25 4
gpt4 key购买 nike

我正在尝试使用 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 Fiddle.

最佳答案

只需进行一些更改即可使您的代码正常工作。请注意,您仍然需要处理负数(通过字段属性?)以及 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);
});

Fiddle is here .

关于javascript - 如何处理 jQuery 中的数字输入更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36118672/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com