如果值大于X,则在keyup上执行某项操作

时间:2018-08-19 21:34:45

标签: jquery keyup calculation

我有两个问题,使用下面的代码:

<h2>Daily KW usage</h2>
<p>Multiply daily usage by 91, divide 91 and divide 5</p>
<input name="box11" type="text" /><br />
<input name="box21" type="hidden" value="91" />
<input name="box31" type="hidden" value="5" /><br />
<input name="box41" class="box41" type="text" />

<div class="" id="showSearchDiv" style="display:none;margin-top:10px;height:450px;background-color:red;"></div>

$('input[name="box11"]').keyup(function() {
    var box11 = $('input[name="box11"]').val();
    var box21 = $('input[name="box21"]').val();
    var box31 = $('input[name="box31"]').val();
    $('input[name="box41"]').val(box11 * box21 / box21 / box31);
});

首先,一旦计算完成,在像现在一样在box41中输入答案之前,如何将值截断/舍入到小数点后两位?

第二,当计算该值并将其放置在box41中时,我试图确定该值是否大于10以显示#showSearchDiv?

我了解show / hide等的基本知识,但似乎无法弄清楚如何将其与keyup绑定到一个操作中。

任何帮助或指针,将不胜感激。

1 个答案:

答案 0 :(得分:0)

只需使用相同的方法添加一些条件即可。这将是您的答案。

$('input[name="box11"]').keyup(function() {
    var box11 = $('input[name="box11"]').val();
    var box21 = $('input[name="box21"]').val();
    var box31 = $('input[name="box31"]').val();
    var result = box11 * box21 / box21 / box31;
    result = result.toString().match(/^-?\d+(?:\.\d{0,2})?/)[0];
    
    if(result > 10){
      $('#showSearchDiv').show();
    } else {
      $('#showSearchDiv').hide();
    }
    $('input[name="box41"]').val(result);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h2>Daily KW usage</h2>
<p>Multiply daily usage by 91, divide 91 and divide 5</p>
<input name="box11" type="text" /><br />
<input name="box21" type="hidden" value="91" />
<input name="box31" type="hidden" value="5" /><br />
<input name="box41" class="box41" type="text" />

<div class="" id="showSearchDiv" style="display:none;margin-top:10px;height:450px;background-color:red;"></div>