【发布时间】:2017-10-19 20:57:43
【问题描述】:
我正在尝试做一个与递增和递减按钮同步的价格计数器,但是当我单击其中一个按钮 (+/-) 时价格没有变化,这不起作用,我该如何解决这个问题?谢谢!!!
$('#plus').click(function add() {
var $qtde = $("#quantity");
var a = $qtde.val();
a++;
$("#minus").attr("disabled", !a);
$qtde.val(a);
});
$("#minus").attr("disabled", !$("#quantity").val());
$('#minus').click(function minust() {
var $qtde = $("#quantity");
var b = $qtde.val();
if (b >= 1) {
b--;
$qtde.val(b);
}
else {
$("#minus").attr("disabled", true);
}
});
/* On change */
$(document).ready(function()
{
function updatePrice()
{
var price = parseFloat($("#quantity").val());
var total = (price + 1) * 1.05;
var total = total.toFixed(2);
$("#total-price").val(total);
}
$(document).on("change, keyup, focus", "#quantity", updatePrice);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="button" value="-" id="minus" />
<input type="text" id="quantity" value="" name="quantity" />
<input type="button" value="+" id="plus" />
<br />
<input id="total-price" readonly="readonly" value=""/>
【问题讨论】:
-
对输入的逻辑更改不会触发更改事件。因此在更改数量时单击加号或减号不会触发更改事件。只需在逻辑更改数量值后调用 updatePrice 即可。尽管与其他绑定不同,这将是您如何在文档内准备好 updatePrice 范围的问题。
标签: javascript jquery onchange