2 回答
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>
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>
添加回答
举报