我的函数有一个输入和两个输出。它总是必须从最小输入 5 开始,并且需要在输出中给我 3 和 4。 6 给出 4 和 5。它还会跳过奇数(当您给出奇数时,它会保留最后一个输出的值)。
只有在我的代码出错的地方。因为当你输入 100 时,我需要复制的函数会给出 53&54 作为输出。而我的只是在 100 上执行 -1 和 -2,所以我得到 98&97。
我还希望 5 给出 3&4,然后当你输入 6 时,它需要给出 4&5,只是如果 6 不是 NaN 或 3&4,我不能给它一个值。
这是我需要复制的内容(在左侧输入字段中输入 5):https://www.schuttinggigant.com/
此处函数的GIF:https://gyazo.com/6a65b65ee5bedddfe35851f78aa8dc27
我的 html:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="InputField InputMeters">
<input type="tel" name="iFenceMeters" id="FenceMeters" class="AutosubmitCalculator calcTotal" data-minimum-length="1" tabindex="1" placeholder="00" maxlength="3" value="" />
<div class="FormExclamation Tipped Hidden" id="FormCalculatorExclamationFence">0</div>
</div>
Output:
<div class="SummaryRow">
<strong>Schermen</strong>
<input name="schermentotaal" type="text" id="schermentotaal" readonly="readonly" value="" />
</div>
<div class="SummaryRow">
<strong>Palen en onderplaten</strong>
<input name="schermentotaal2" type="text" id="schermentotaal2" readonly="readonly" value="" />
</div>
我的 Jquery:
$(".calcTotal").on('input', function(elem) {
let num = $(this).val();
if (num % 2 !== 0) {
num--;
}
$("#schermentotaal").val(num - 2);
$("#schermentotaal2").val(num - 1);
});
更新:我不知道怎么做,但也许我需要做一些事情而不是 -1 和 -2? - X%。只是一个想法。
最佳答案
当您更新 HTML 时,您从 num
中减去太多次。将您的功能更改为:
$(".calcTotal").on('input', function() {
let num = $(this).val();
if (num % 2 === 0) {
num--;
}
$("#schermentotaal").val(num - 1);
$("#schermentotaal2").val(num);
});
我只更改了最后两行,如果你想知道的话。
关于javascript - Jquery输出奇数跳过,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53776359/