我试图禁用减号,以使该值不能低于零。因此,当值为< = 0
时,我想添加某种禁用 $("#dynamicContent").on("click", ".qtyplus, .qtyminus", function (e) {
e.preventDefault();
var $input = $(this).closest("div.dynamicWrapper").find(".qty");
var currentVal = parseInt($input.val());
if (!isNaN(currentVal)) {
$(this).hasClass("qtyplus") ? $input.val(currentVal + 1) : $input.val(currentVal - 1);
} else {
$input.val(0);
}
});
我在下面的代码会这样做。但它没有
if (currentVal == 0)
{
$('#qtyminus').attr('disabled',true);
} else{
$('#qtyminus').attr('disabled',false);
}
答案 0 :(得分:0)
好的,我把它整理出来了。但它并不漂亮。
问题是currentVal
没有增加/减少,因为在代码中完成了。所以我添加了一个新的var currentVal2
,如果currentVal <= 0
禁用该按钮并增加+ 1。
所以现在按钮不会低于零。但我确实认为我可以有不同的方法。
$("#dynamicContent").on("click", ".qtyplus, .qtyminus", function (e) {
e.preventDefault();
var $input = $(this).closest("div.dynamicWrapper").find(".qty");
var currentVal = parseInt($input.val());
var currentVal2 = 0
if (currentVal <= 0) // As qty is not changed yet. Increase currentVal + 1 and then disable the button
{
$('.qtyminus').prop('disabled',true);
currentVal2 = currentVal + 1;
} else{
$('.qtyminus').prop('disabled',false);
currentVal2 = currentVal;
}
if (!isNaN(currentVal)) {
$(this).hasClass("qtyplus") ? $input.val(currentVal + 1) : $input.val(currentVal2 - 1);
} else {
$input.val(0);
}
});