0

本人確認で困っています。ここでは、入力が数値であること、= がゼロでないこと、3 より大きいか = から 12 未満であることがチェックされています。何らかの理由で、最初の部分しか検証できません。 . ">3= && <=12" が機能しません。助けてください。

}else if(question_pos==2){
        if( $("#myinput").val() != "" && Number($("#myinput").val() ) && $("#myinput").val() >= "3" && $("#myinput").val() <= "12" ){
        return true;
    }else{
        return false;
    }

これが問題の部分です

$("#baseline_05_ft").val() >= "3" && $("#baseline_05_ft").val() <= "12"
4

4 に答える 4

2

コードが乱雑です。おそらくそれがエラーの原因です。

次のように書きます。

var value = parseInt($("#myinput").val(), 10 /*radix*/);
if (isNaN(value) === false && value >= 3 && value <= 12) {
    // ..
}

数値を意味する文字列を比較しないでください。比較すべきものを比較します。これにより、コードが読みやすく理解しやすくなります。


!==これにより、厳密な比較 ( and ===) を次のように使用することもできます。

3 === 3; // true
3 === "3"; // false
3 == "3"; // true

==の代わりに使用したい場合は見つかりませんでした===

于 2013-04-02T17:17:34.207 に答える
1

整数に変換する必要があります-

var myVal = parseInt($("#myinput").val(), 10);
if(!isNaN(myVal) && myVal >= 3 && myVal <= 12) {
    //do stuff
}
于 2013-04-02T17:20:01.373 に答える