为了账号安全,请及时绑定邮箱和手机立即绑定

根据输入值增量更改按钮颜色

根据输入值增量更改按钮颜色

繁星点点滴滴 2021-11-04 16:31:19
下面的示例我想在输入值 > 1 时更改减号按钮背景颜色。同时当输入值 = 0 时,它应该是默认背景颜色。评论以进一步澄清。我试过的脚本:$('.quantity-plus').click(function() {    if($(".input-number").val() > 0){                       //alert();        $('.quantity-minus').css('background', '#f00');    }    else {        $('.quantity-minus').css('background', '#999');    }               });$(document).ready(function(){     $('.quantity-plus').click(function (e) {          $(this).prev().val(+$(this).prev().val() + 1);    e.preventDefault();  });  $('.quantity-minus').click(function (e) {    if ($(this).next().val() > 0) $(this).next().val(+$(this).next().val() - 1);    e.preventDefault();  });   });.quantity-minus {  background: #999;  color: #fff;  padding: 5px;}.quantity-plus {  background: green;  color: #fff;  padding: 5px;}<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script><div class="input-group qty-addon">    <a href="javascript:void(0);" class="quantity-minus">        minus    </a>    <input type="text" id="" name="" class="input-number" value="0">    <a href="javascript:void(0);" class="quantity-plus" data-type="plus" data-field="">        plus    </a></div>
查看完整描述

2 回答

?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

再次阅读您的问题后,我想我明白了。如果输入大于 0,则您希望锚点为红色。否则,默认返回灰色。


您可以通过将示例脚本转换为函数并将其添加到加号和减号事件来实现此目的。


$(document).ready(function() {

  function color() {

    if ($(".input-number").val() > 0) {

      $('.quantity-minus').css('background', '#f00');

    } else {

      $('.quantity-minus').css('background', '#999');

    }

  }

  $('.quantity-plus').click(function(e) {

    $(this).prev().val(+$(this).prev().val() + 1);

    color();

    e.preventDefault();

  });

  $('.quantity-minus').click(function(e) {

    if ($(this).next().val() > 0) $(this).next().val(+$(this).next().val() - 1);

    color();

    e.preventDefault();

  });

});

.quantity-minus {

  background: #999;

  color: #fff;

  padding: 5px;

}

.quantity-plus {

  background: green;

  color: #fff;

  padding: 5px;

}

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div class="input-group qty-addon">

    <a href="javascript:void(0);" class="quantity-minus">

        minus

    </a>

    <input type="text" id="" name="" class="input-number" value="0">

    <a href="javascript:void(0);" class="quantity-plus" data-type="plus" data-field="">

        plus

    </a>

</div>


查看完整回答
反对 回复 2021-11-04
?
慕村225694

TA贡献1880条经验 获得超4个赞

单击minus按钮时需要重置背景颜色,目前仅在plus单击按钮时更改颜色,


$(document).ready(function(){   

  $('.quantity-plus').click(function (e) {      

    $(this).prev().val(+$(this).prev().val() + 1);

    e.preventDefault();

  });

  $('.quantity-minus').click(function (e) {

    if ($(this).next().val() > 1){

      $(this).next().val(+$(this).next().val() - 1);

      e.preventDefault();

    } else {

       $(this).next().val(0);

       $('.quantity-minus').css('background', '#999');

    }

  });

});


$('.quantity-plus').click(function() {

    if($(".input-number").val() > 0){           

            //alert();

        $('.quantity-minus').css('background', '#f00');

    }

    else {

        $('.quantity-minus').css('background', '#999');

    }               

});

.quantity-minus {

  background: #999;

  color: #fff;

  padding: 5px;

}

.quantity-plus {

  background: green;

  color: #fff;

  padding: 5px;

}

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div class="input-group qty-addon">

    <a href="javascript:void(0);" class="quantity-minus">

        minus

    </a>

    <input type="text" id="" name="" class="input-number" value="0">

    <a href="javascript:void(0);" class="quantity-plus" data-type="plus" data-field="">

        plus

    </a>

</div>

另一种方法是您可以在每次单击任何按钮时触发 onchange 输入,然后根据值更改按钮的颜色。


$(document).ready(function() {

  $('.quantity-plus').click(function(e) {

    $(this).prev().val(+$(this).prev().val() + 1);

    e.preventDefault();

    $('#input').change()

  });

  $('.quantity-minus').click(function(e) {

    if ($(this).next().val() > 1) {

      $(this).next().val(+$(this).next().val() - 1);

      e.preventDefault();

    } else {

      $(this).next().val(0);

    }

    $('#input').change()

  });

});


function handle() {

  if ($(".input-number").val() > 0) {

    //alert();

    $('.quantity-minus').css('background', '#f00');

  } else {

    $('.quantity-minus').css('background', '#999');

  }

}

.quantity-minus {

  background: #999;

  color: #fff;

  padding: 5px;

}


.quantity-plus {

  background: green;

  color: #fff;

  padding: 5px;

}

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div class="input-group qty-addon">

  <a href="javascript:void(0);" class="quantity-minus">

        minus

    </a>

  <input type="text" id="input" name="" class="input-number" value="0" onchange="handle()">

  <a href="javascript:void(0);" class="quantity-plus" data-type="plus" data-field="">

        plus

    </a>

</div>


查看完整回答
反对 回复 2021-11-04
  • 2 回答
  • 0 关注
  • 137 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信