2017-10-28 16 views
2

私はすべての可能性を試しましたが、正しい結果が得られませんでした。 これは2桁の値に対して正常に機能しますが、任意の値に対して機能するはずです。 ここに私のコードはそれをチェックし、私にお勧めします。 keyup関数の検証が機能していません

$(document).ready(function() { 
 
\t \t \t 
 
\t \t \t $("#height").keyup(function(){ 
 
\t \t \t \t var weight=$('#weight').val(); 
 
\t \t \t \t var height=$('#height').val(); 
 

 
\t \t \t \t if(weight>height){ 
 
\t \t \t \t \t alert("Height should be greater than Weight"); 
 
\t \t \t \t } 
 
\t \t \t }); 
 
});
<!DOCTYPE html> 
 
<html> 
 
<head> 
 
\t <title></title> 
 
\t <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/> 
 
\t <label>HEIGHT(cm)</label><input type="text" id="height" 
 
     name="height" placeholder="height"> 
 

 
</body> 
 
</html>

私は体重が高さよりも大きい場合に警告を表示する必要があります。

+0

検証作業ではないモミ何値で動作しますか? –

+0

重量が2桁の値であり、高さは体重のような.. = 45、高さ= 100 –

+1

3桁の値であるとき、これは –

答えて

2

整数値の代わりにテキスト値を比較しているようです。

比較する前にそれらを整数に変換するとうまくいくはずです。

var weight=parseInt($('#weight').val()); 
var height=parseInt($('#height').val()); 

文字列の比較では、JavaScript、例えば、整数の比較とは異なる

"200" > "1999" // true 
200 > 1999 // false 
+0

はい、あなたは正しい@ sid-mです。私はこれに気付かなかった..ありがとう.. –

1

これはあなたのために働くでしょう。それは、ユーザのすべての主要な株価に影響しますので、私はこのresult.Notを達成するために.blur機能を使用している

.keyupまたは.keydown機能を使用し、blurは入力のみからフォーカスアウトでトリガします。

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

+0

それらを比較する前に、 'parseInt'が整数に値を変換するために使用してみてください。?、 **フィドル**はうまくいきます。 –

+0

@NagarajPujarどの部分が動作していない – weBBer

+0

ポインタが高さにあるときに警告が表示されます。 –

1

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

+0

@NagarajPujar、あなたの要件は体重>身長または身長>体重ですか?あなたのコメントはちょっと混乱します。それを明確にしてください。 –

+0

身長>体重これは私が欲しいものです。 @Aditya Rao –

+0

あなたは、体重が身長よりも大きい場合に警告を発するべきであることを意味します。右? –

0

これを試してみてください:

$(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/> 
 
\t <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>

+0

これも正しく動作していません。 –

+0

それは働いています。あなたが高さよりも大きい体重を入力しようとすると。警告が出ます。あなたは働いていないという意味ですか? – Jonjie

+0

重量= 30高さ= 200これらの値を入力して友人を確認してください。 –

関連する問題