如何在JQuery中实现多个if / else语句?

时间:2017-10-27 19:24:08

标签: javascript jquery html math

我尝试在JQuery代码中实现多个“if - else”语句。它是关于计算考试成绩并将结果分成组。 第二个函数显然有一个错误(第一个单独工作就好了),但我可以找到它:(也许我错了“if - else”函数。

提前感谢您的帮助。

HTML

 sysctl -n net.ipv4.ip_forward

JQuery的

<input id="input0a" class="gender" type="radio" name="gender" value="2.5" onClick="document.getElementById('input0').value=this.value">
<label for="input0a">female</label>
<input type="radio" name="gender" id="input0b" class="gender" value="1" onClick="document.getElementById('input0').value=this.value">
<label for="inputb">male</label>
<br />
<input id="input0" type="text" name="Coeficient Gender" readonly="true" placeholder="Coeficient Gender" readonly="true" />
<label for="input0"> Coeficient Gender </label>
<br />
<input id="input1" type="number" name="input" placeholder="input for calc" />
<label for="input1">Exam total points</label>
<br />
<input id="res1" type="text" name="res absoluto" readonly="true" placeholder="res1" />
<label for="res1">Grade</label>
<br />
<input id="res2" type="text" name="res groupo" readonly="true" placeholder="res2">
<label for="res2">Group</label> 

2 个答案:

答案 0 :(得分:3)

看起来你在整个javascript代码中有几个小的语法错误。我无法真正命名它们,但这里的代码没有错误:

我也使用缩进格式化了javascript,这有助于避免像这些一样的小语法错误。现在,代码似乎只是通过使用代码段html表单来运行。

运行以下代码段:

//get GFR PostOp 
function getGrade () {
    var kG = parseFloat($("#input0").val());
    var preCalc = parseFloat($("#input1").val());
    var Calc = kG * preCalc;
    var CalcReady = Calc.toFixed(2);
    if (isNaN(CalcReady)){
        CalcReady = 0;
    }
    $('#res1').val((CalcReady));
}

$(document).ready(function() {
    $('#input1').keyup(function(event) {
        getGrade();
    });
});

//get Grade Group
function getGroup () {
    var gradeGroup = parseFloat($("#res1").val());
    if (gradeGroup >= 90){
        var Group = 1;
    }
    else if (gradeGroup <90 && gradeGroup >= 60){
        var Group = 2;
    }
    else if (gradeGroup <60 && gradeGroup >= 45){ 
        var Group = 3;
    }
    else if (gradeGroup <45 && gradeGroup >= 30){
        var Group = 3;
    }
    else if (gradeGroup <30 && gradeGroup >= 15){
        var Group = 4;
    }
    else {
        var Group = 5;
    }

    if (isNaN(Group)){
        Group = 0;
    }
    $('#res2').val((Group));
}

$(function () {
    $('#input1').keyup(function(event){
        getGroup();
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="input0a" class="gender" type="radio" name="gender" value="2.5" onClick="document.getElementById('input0').value=this.value">
<label for="input0a">female</label>
<input type="radio" name="gender" id="input0b" class="gender" value="1" onClick="document.getElementById('input0').value=this.value">
<label for="inputb">male</label>
<br />
<input id="input0" type="text" name="Coeficient Gender" readonly="true" placeholder="Coeficient Gender" readonly="true" />
<label for="input0"> Coeficient Gender </label> 
<br />
<input id="input1" type="number" name="input" placeholder="input for calc"/> 
<label for="input1">Exam total points</label> 
<br />
<input id="res1" type="text" name="res absoluto" readonly="true" placeholder="res1"/> 
<label for="res1">Grade</label>    
<br />
<input id="res2" type="text" name="res groupo" readonly="true" placeholder="res2">
<label for="res2">Group</label>

答案 1 :(得分:3)

我认为这就是你要找的东西

        //get GFR PostOp 
        function getGrade() {
            var kG = parseFloat($("#input0").val());
            var preCalc = parseFloat($("#input1").val());
            var Calc = kG * preCalc;
            var CalcReady = Calc.toFixed(2);
            if (isNaN(CalcReady)) CalcReady = 0;
            $('#res1').val((CalcReady));
        }

        $(document).ready(function() {
            $('#input1').keyup(function(event) {
                getGrade();
				getGroup();
            });
        });

        //get Grade Group
        function getGroup() {
			var Group = '0';
            var gradeGroup = parseFloat($("#res1").val());
            if (gradeGroup >= 90) {
                var Group = '1';
            } else if (gradeGroup < 90 && gradeGroup >= 60) {
                var Group = '2';
            } else if (gradeGroup < 60 && gradeGroup >= 45) {
                var Group = '3 A';
            } else if (gradeGroup < 45 && gradeGroup >= 30) {
                var Group = '3 B';
            } else if (gradeGroup < 30 && gradeGroup >= 15) {
                var Group = '4';
            } else {
                var Group = '5';
            }
        
			$('#res2').val((Group));
		}
        
<html>

<head>
	<meta charset="utf-8"/>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/css/bootstrap.min.css" integrity="sha384-PsH8R72JQ3SOdhVi3uxftmaW6Vc51MKb0q5P2rRUpPvrszuE4W1povHYgTpBfshb" crossorigin="anonymous">
    <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.3/umd/popper.min.js" integrity="sha384-vFJXuSJphROIrBnz7yo7oB41mKfc8JzQZiCq4NCceLEaO4IHwicKwpJf9c9IpFgh" crossorigin="anonymous"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/js/bootstrap.min.js" integrity="sha384-alpBpkh1PFOepccYVYDB4do5UnbKysX5WZXm3XxPqe5iKTfUKjNkCk9SaVuEZflJ" crossorigin="anonymous"></script>
</head>

<body>
   
    <input id="input0a" class="gender" type="radio" name="gender" value="2.5" onClick="document.getElementById('input0').value=this.value">
    <label for="input0a">female</label>
    <input type="radio" name="gender" id="input0b" class="gender" value="1" onClick="document.getElementById('input0').value=this.value">
    <label for="inputb">male</label>
    <br />
    <input id="input0" type="text" name="Coeficient Gender" readonly="true" placeholder="Coeficient Gender" readonly="true" />
    <label for="input0"> Coeficient Gender </label>
    <br />
    <input id="input1" type="number" name="input" placeholder="input for calc" />
    <label for="input1">Exam total points</label>
    <br />
    <input id="res1" type="text" name="res absoluto" readonly="true" placeholder="res1" />
    <label for="res1">Grade</label>
    <br />
    <input id="res2" type="text" name="res groupo" readonly="true" placeholder="res2">
    <label for="res2">Group</label>
</body>

</html>