您好,我正在使用 jQuery 创建一个输入数字增量,但还没有成功,请您检查我的代码并给我一个正确的指导
HTML
<div class="sp-quantity">
<div class="sp-minus fff"> <a class="ddd" href="#">-</a></div>
<div class="sp-input">
<input type="text" class="quntity-input" value="1">
</div>
<div class="sp-plus fff"> <a class="ddd" href="#">+</a></div>
</div>
JS
$(".ddd").on("click", function () {
var $button = $(this);
var oldValue = $button.parent().find("input .quntity-input").val();
if ($button.text() == "+") {
var newVal = parseFloat(oldValue) + 1;
} else {
// Don't allow decrementing below zero
if (oldValue > 0) {
var newVal = parseFloat(oldValue) - 1;
} else {
newVal = 0;
}
}
$button.parent().find("input .quntity-input").val(newVal);
});
原文由 Vikas Ghodke 发布,翻译遵循 CC BY-SA 4.0 许可协议
用于查找输入的选择器不正确。
.quntity-input
是.sp-quantity
的孩子,它比 DOM 中的按钮高两层,所以你需要使用closest()
与parent
选择器---
。试试这个:示例小提琴
您还可以简化代码: