簡體   English   中英

如何在 JQuery 中實現多個 if/else 語句?

[英]How to implement a multiple if/else statements in JQuery?

我嘗試在 JQuery 代碼中實現多個“if - else”語句。 它是關於計算考試分數並將結果分組。 第二個函數顯然有一個錯誤(第一個單獨工作就很好),但我可以找到它:(也許我使用了錯誤的“if - else”函數。

提前感謝您的幫助。

HTML

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

查詢

//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 A;
  } else if (gradeGroup < 45 && gradeGroup >= 30) {
    var Group = 3 B;
  } else if (gradeGroup < 30 && gradeGroup >= 15) {
    var Group = 4;
  } else {
    var Group = 5;
  };
}

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

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

看起來您在整個 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>

我想這就是你要找的

 //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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM