[英]how can i set a limit to increment and decrement of value using jquery
我正在嘗試使用jquery來增加和減少數量,它正在正常工作,但是如果一旦值為1,那么如何避免遞減操作。 我嘗試使用if else s = conditions,但沒有整理出來,請教我...
jQuery('#inc').click(function() { jQuery('.output').html(function(i, val) { return val*1+1 }); }); jQuery('#dec').click(function() { jQuery('.output').html(function(i, val) { return val*1-1 }); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script> <div class="row"> <div class="col-sm-1" id="dech"> <p id="dec">-</p> </div> <div class="col-sm-10"> <center><b><span class='output' value='1'>1</span> Adult</b></center> </div> <div class="col-sm-1" id="inch"> <p id="inc">+</p> </div> </div>
像這樣更改增量/減量功能。 您在跨度上使用了value屬性,但沒有增加/減少其值。 盡管它不是必需的,但我認為它也應該更新。
$('#inc').click(function() {
$('.output').html(function(i, val) { return val*1+1 });
$('.output').attr("value",$('.output').html().trim())
});
$('#dec').click(function() {
if ($(".output").text().trim() === "1") return;
$('.output').html(function(i, val) { return val*1-1 });
$('.output').attr("value",$('.output').html().trim())
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="row"> <div class="col-sm-1" id="dech"> <p id="dec">-</p> </div> <div class="col-sm-10"> <center><b><span class='output' value='1'>1</span> Adult</b></center> </div> <div class="col-sm-1" id="inch"> <p id="inc">+</p> </div> </div> <script> $('#inc').click(function() { $('.output').html(function(i, val) { return val*1+1 }); $('.output').attr("value",$('.output').html().trim()) }); $('#dec').click(function() { if ($(".output").text().trim() === "1") return; $('.output').html(function(i, val) { return val*1-1 }); $('.output').attr("value",$('.output').html().trim()) }); </script>
在dec函數中,請確保該值大於1。
<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script> $(document).ready(function(){ $('#inc').click(function() { $('.output').html(function(i, val) { return val*1+1 }); }); $('#dec').click(function() { $('.output').html(function(i, val) { if(val>1) return val*1-1 }); }); }); </script> </head> <body> <div class="row"> <div class="col-sm-1" id="dech"> <p id="dec">-</p> </div> <div class="col-sm-10"> <center><b><span class='output' value='1'>1</span> Adult</b></center> </div> <div class="col-sm-1" id="inch"> <p id="inc">+</p> </div> </div> </body> </html>
您實際上並不需要乘法,而只需添加一個if語句。
$('#dec').click(function() {
$('.output').html(function(i, val) {
if(val > 1)
return val - 1;
});
});
作為三元:
$('#dec').click(function() {
$('.output').html(function(i, val) {
return (val > 1) ? val - 1 : val;
});
});
這就是您正在尋找的:D干杯
jQuery('#inc').click(function() { jQuery('.output').html(function(i, val) { return val*1+1 }); }); jQuery('#dec').click(function() { jQuery('.output').html(function(i, val) { let _val; _val = val*1-1 ? val*1-1 : 1; return _val }); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script> <div class="row"> <div class="col-sm-1" id="dech"> <p id="dec">-</p> </div> <div class="col-sm-10"> <center><b><span class='output' value='1'>1</span> Adult</b></center> </div> <div class="col-sm-1" id="inch"> <p id="inc">+</p> </div> </div>
減小數值時,只需檢查該值是否已經為1(或以下數值,以防萬一)。 在那種情況下,簡單地返回1
,否則返回減小的值。 請注意,乘法* 1
用作在解決方案中將String解析為Number的方法。
jQuery('#inc').click(function() { jQuery('.output').html(function(i, val) { return val * 1 + 1 }); }); jQuery('#dec').click(function() { jQuery('.output').html(function(i, val) { return val*1 <= 1 ? 1 : val * 1 - 1 }); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script> <div class="row"> <div class="col-sm-1" id="dech"> <p id="dec">-</p> </div> <div class="col-sm-10"> <center><b><span class='output' value='1'>1</span> Adult</b></center> </div> <div class="col-sm-1" id="inch"> <p id="inc">+</p> </div> </div>
您可以像這樣使用三元運算符:
$('#inc').click(function () {
$('.output').html(function (i, val) {
return val * 1 + 1;
});
});
$('#dec').click(function () {
$('.output').html(function (i, val) {
return val > 1 ? val * 1 - 1 : val;
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.