如何更改附加输入值?

时间:2017-12-21 18:46:27

标签: jquery html

我有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);    
});

1 个答案:

答案 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>