防止反击减去

时间:2014-06-10 15:01:19

标签: jquery limit counter

我在电子商务商店中有一个数量计数器,用户可以点击它来增加或减少购物车中的数量。麻烦的是,按下“ - ”按钮可以使数量低于0,从而减去。这显然会搞砸库存水平,所以我需要它只接受0作为最低值。完全陷入困境。

        <div class="qty-holder">

    <div class="qty-changer">
        <a href="javascript:void(0)" class="qty_dec"><span>-</span></a>
    </div>

    <input type="text" name="qty" id="qty" maxlength="12" value="<?php echo $this->getQty()*1 ?>" title="<?php echo $this->__('Qty') ?>" class="input-text qty" />

    <div class="qty-changer">
        <a href="javascript:void(0)" class="qty_inc"><span>+</span></a>
    </div>

    <div class="clear"></div>
</div>
<script type="text/javascript">

    jQuery(document).ready(function(){
        jQuery(".qty_inc").click(function(){
            jQuery(this).parent().parent().children("input#qty").val((+jQuery(this).parent().parent().children("input#qty").val() + 1) || 0);
        });
    });

    jQuery(document).ready(function(){
        jQuery(".qty_dec").click(function(){
            jQuery(this).parent().parent().children("input#qty").val((+jQuery(this).parent().parent().children("input#qty").val() - 1) || 0);
        });
    });

</script>

任何想法都会非常感激。

2 个答案:

答案 0 :(得分:0)

使用Math.max(value, 0)获取两个条目之间的最大值

答案 1 :(得分:0)

.qty_dec点击中,首先在变量中获取(+jQuery(this).parent().parent().children("input#qty").val() - 1)的值。

然后检查值&gt; = 0,显示该值否则显示0

var decValue = (+jQuery(this).parent().parent().children("input#qty").val() - 1)
if decValue >= 0
jQuery(this).parent().parent().children("input#qty").val(decValue);
else
jQuery(this).parent().parent().children("input#qty").val(0);