禁用负面按钮

时间:2015-10-22 23:23:25

标签: jquery

我试图禁用减号,以使该值不能低于零。因此,当值为< = 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);
}

1 个答案:

答案 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);
    }
    });