[英]keyup function validation is not working
我嘗試了所有可能性,但沒有得到正確的結果。 它適用於兩位數的值,但應適用於任何給定的值。 這是我的代碼,請檢查並建議我。
$(document).ready(function () { $("#height").keyup(function(){ var weight=$('#weight').val(); var height=$('#height').val(); if(weight>height){ alert("Height should be greater than Weight"); } }); });
<!DOCTYPE html> <html> <head> <title></title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> </head> <body> <label>WEIGHT(kg)</label><input type="text" id="weight" name="weight" placeholder="weight"><br/><br/> <label>HEIGHT(cm)</label><input type="text" id="height" name="height" placeholder="height"> </body> </html>
當重量大於身高時,我需要顯示警報。
似乎您正在比較文本值而不是整數值。
在比較之前將它們轉換為整數,它應該可以工作。
var weight=parseInt($('#weight').val());
var height=parseInt($('#height').val());
字符串比較的工作方式不同於整數比較,例如在JavaScript中
"200" > "1999" // true
200 > 1999 // false
這將為您工作。
我已經使用.blur
函數來實現此結果。未使用.keyup
或.keydown
函數,因為它將影響用戶的每一個關鍵儲備, blur
只會觸發從輸入焦點.keydown
。
$(document).ready(function() { $("#height").blur(function() { var weight = $('#weight').val(); var height = $(this).val(); if (weight > height) { alert("Height should be greater than Weight"); } }); });
<!DOCTYPE html> <html> <head> <title></title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> </head> <body> <label>WEIGHT(kg)</label><input type="text" id="weight" name="weight" placeholder="weight"><br/><br/> <label>HEIGHT(cm)</label><input type="text" id="height" name="height" placeholder="height"> </body> </html>
$(document).ready(function() { $("#height").blur(function() { compareHtWt(); }); $("#weight").blur(function() { compareHtWt(); }); function compareHtWt(){ var weight = $('#weight').val(); var height = $('#height').val(); if (weight.length>0 && height.length>0 && weight > height) { alert("Height should be greater than Weight"); return false; } } });
<!DOCTYPE html> <html> <head> <title></title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> </head> <body> <label>WEIGHT(kg)</label> <input type="number" id="weight" name="weight" placeholder="weight"><br/><br/> <label>HEIGHT(cm)</label> <input type="number" id="height" name="height" placeholder="height"> </body> </html>
嘗試這個:
$(document).ready(function(){ $('#weight, #height').on('keyup', function(){ var weight = $('#weight'); var height = $('#height'); if(weight.val().length > 0 && height.val().length > 0){ if(weight.val() > height.val()){ alert("Height should be greater than Weight"); } } }); });
<label>WEIGHT(kg)</label><input type="text" id="weight" name="weight" placeholder="weight"><br/><br/> <label>HEIGHT(cm)</label><input type="text" id="height" name="height" placeholder="height"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.