使用jquery检查其他值后无法显示文本框

时间:2014-07-07 10:05:37

标签: jquery

我希望在页面加载时隐藏第二个输入框,如果第一个框中的值大于0则显示它。另外我想通过仅使用ID来实现。下面是我正在使用的代码,请帮我解决这个错误。

<html>
<head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <script>
        $(document).ready(function(){
            $("#Q500b").hide();
            $("#Q500a_2").on('keyup', function(){
                alert("hi");
                if ($("#Q500a_2").val() > 0 && !isNaN("#Q500a_2"))
                    $("#Q500b").show();
            });
        });
    </script>
</head>
<body>
    <input type="text" id='Q500a_2'>
    <input type="text" id='Q500b'>
</body>
</html>

4 个答案:

答案 0 :(得分:1)

选中 Fiddle

 $(document).ready(function(){
    $("#Q500b").hide();
    $("#Q500a_2").on('keyup',function(){
        //alert("hi");
        if($(this).val() > 0 && !isNaN($(this).val()))
            $("#Q500b").show();
    });
});

答案 1 :(得分:1)

试试这个: -

$(document).ready(function(){
$("#Q500b").hide();
$("#Q500a_2").on('keyup',function(){

    if(parseInt($(this).val()) > 0)
        $("#Q500b").show();
 });
});

Demo

答案 2 :(得分:1)

您必须比较值而不是对象本身

试试这个

$("#Q500b").hide();
    $("#Q500a_2").on('keyup',function(){
        alert("hi");
        if(this.value>0 && !isNaN(this.value)) // Change here
            $("#Q500b").show();
});

Demo

答案 3 :(得分:1)

关键问题在于isNaN:

$("#Q500b").hide();
    $("#Q500a_2").on('keyup',function(){
        alert("hi");
        if($("#Q500a_2").val()>0 && !isNaN($("#Q500a_2").val()))
            $("#Q500b").show();
    });

你最好这样写:

$("#Q500b").hide();
    $("#Q500a_2").on('keyup',function(){
        alert("hi");
        if(this.value>0 && !isNaN(this.value))
            $("#Q500b").show();
    });