jQuery输出奇数跳过

时间:2018-12-14 08:58:13

标签: javascript jquery html css

我的函数有一个输入和2个输出。它总是必须从最小输入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%。只是一个主意。

2 个答案:

答案 0 :(得分:1)

在更新HTML时,您从num中减去的次数过多。将功能更改为此:

$(".calcTotal").on('input', function() {
    let num = $(this).val();
    if (num % 2 === 0) {
        num--;
    }
    $("#schermentotaal").val(num - 1);
    $("#schermentotaal2").val(num);
});

如果您想知道的话,我只更改了最后两行。

答案 1 :(得分:0)

$(".calcTotal").on('input', function(elem) {
   let num = $(this).val();
   if (num % 2 === 0 && num > 2) { // why num>2 because num-2 will be 0 and you don't wont to display 0 
       $("#schermentotaal").val(num - 2);
       $("#schermentotaal2").val(num - 1);
   }
});