我有2个输入值,最多都有30个整数。它们的值被加在一起并附加到“结果”类。
但是,当值小于5时,我想将输入值更改为“1”,原始值保留在输入框中,新值附加到“.results”,同时仍保持添加因子为“.results”。
HTML
<div class="section">
<input type="number" class="chicken" min="0" max="30"/>
<input type="number" class="turkey" min="0" max="30"/>
</div>
<p class="results"></p>
的jQuery
$(document).on("keyup", "input", function() {
var chicken = parseInt($('.chicken').val(), 10);
var turkey = parseInt($('.turkey').val(), 10);
if (chicken < 5) {
$(sum).val(2);
}
$("input").each(function(){
sum += +$(this).val();
});
$(".results").html(sum);
});
答案 0 :(得分:1)
循环浏览元素时,您只需要检查值。
如果其中任何一个小于5
,则您将1
添加到sum
值而不是实际值。否则你使用实际值。
$(document).on("keyup", "input", function() {
var sum = 0;
var chicken = parseInt($('.chicken').val(), 10);
var turkey = parseInt($('.turkey').val(), 10);
$("input").each(function(){
if($(this).val() < 5)
{
sum === 1 ? sum : sum++;
}
else
{
sum += +$(this).val();
}
});
$(".results").html(sum);
});
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
</head>
<body>
<div class="section">
<input type="number" class="chicken" min="0" max="30"/>
<input type="number" class="turkey" min="0" max="30"/>
</div>
<p class="results"></p>
</body>
</html>