Javascript - 使用if语句在表单中评估结果

时间:2014-09-23 13:21:07

标签: javascript jquery forms

我正在尝试使用下面表单上的if语句来评估结果。当第二个结果除以第一个结果时,产生平均百分比。如果该百分比大于或等于55,则结果应该返回" Pass"否则它应该是"失败"。不确定我的IF语句中的错误在哪里。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">  </script>
<script>
$(document).ready(function() {
$(".input").keyup(function() {
    var val1 = +$(".value1").val();
    var val2 = +$(".value2").val();
    $("#result").val("$"+(val1 / val2).toFixed(2));
    var val3 = +$(".value3").val();
    var val4 = +$(".value4").val();
    $("#result2").val("$"+(val3/val4).toFixed(2));
    $("#result3").val(((val3/val4)/(val1/val2)*100).toFixed(2) + "%");
            var result = $("#result2").val()/$("#result").val();
            if(result >= 55){
      $("#TestResult").val((result * 100).toFixed(2) + "%" + "Pass");
    } else {
      $("#TestResult").val("FAIL");
    }

});
});

</script>
    <table>
    <tr>
    <td>Non-taxable benefits paid to Highly Compensated EE's:</td>
    <td>
        <input type="text" class="input value1">
    </td>
</tr>
<tr>
    <td>Number of Highly Compensated Employees:</td>
    <td>
        <input type="text" class="input value2">
    </td>
</tr>
<tr>
    <td>Average Benefits paid to Highly Compensated EE's:</td>
    <td>
        <input type="text" disabled="disabled" id="result">
    </td>
</tr>
<tr>
    <td>Non-taxable benefits paid to Non-Highly Compensated EE's:</td>
    <td>
        <input type="text" class="input value3">
    </td>
</tr>
<tr>
    <td>Number of Non-Highly Compensated Employees included*:</td>
    <td>
        <input type="text" class="input value4">
    </td>
</tr>
<tr>
    <td>Average Benefits paid to Non-Highly Compensated EE's:</td>
    <td>
        <input type="text" disabled="disabled" id="result2">
    </td>
</tr>
<tr>
    <td>Average Benefit Percentage Ratio:</td>
    <td>
       <input type="text" disabled="disabled" id="result3">
    </td>
</tr>
    <tr>
    <td>Result:</td>
    <td>
        <input type="text"  id="TestResult" style='overflow:hidden; border:0px solid #000000; width:80%'>
    </td>
</tr>

3 个答案:

答案 0 :(得分:2)

看起来像家庭作业。无论如何,您输入的值($('#result2').val()等)看起来像&#34; $ 15.055&#34;,这将失败,因为它会看到&#34; $&#34;签名并假设它是0。

您可以在添加&#34; $&#34;之前保存该值。然后使用它,或者只是将其切片:

+( $("#result2").val().slice(1) ) / +( $("#result").val().slice(1) )

答案 1 :(得分:0)

在所有其他人中,你使用了数字强制,但这次你没有。

var result = (+$("#result2").val())/(+$("#result").val());

答案 2 :(得分:0)

更改以下代码  var result = $(&#34;#result2&#34;)。val()/ $(&#34;#result&#34;)。val();

进入

var result = $(&#34;#result2&#34;)。val()/ $(&#34;#result&#34;)。val();

result = parseInt(result);