Javascript - 如何在将文本输入<input />后显示DIV

时间:2014-01-22 14:05:32

标签: javascript jquery

我正在尝试用JavaScript编写函数,它会在放入一些文本后显示/隐藏'DIV'。

我设法写了它,但是只有当用户将'input'值设置为大于8时才能使它工作。

Html:

<input type='text' id='area' style='border: 1px solid;'></input><br>
<div id='text1' style='display:none; '>Examletext</div>

JavaScript

$(document).ready(function() {
    $("#area").keyup(function() {
        if ($('#text1').is(":hidden")) {
            $('#text1').show(500);
        } else {
            $("#text1").hide(500);
        }
    });
});

上面是工作脚本,但无论你输入'输入',这都适用。我想只在我将值大于8(9,10,101等)时才执行脚本

我尝试添加此功能(无效果):

if ($("#area").value > 8){}

这是我在上面评论了上述行的工作脚本 - jsfiddle

5 个答案:

答案 0 :(得分:4)

$("#area").value更改为$("#area").val()

$(document).ready(function() {
    $("#area").keyup(function() {
        if ($("#area").val() > 8) {
            if ($('#text1').is(":hidden")) {
                $('#text1').show(500);]
            } else {
                $("#text1").hide(500);
            }
        }
    });
});

在jQuery中,您需要使用val()而不是value

Fiddle Demo

文档:http://api.jquery.com/val/

答案 1 :(得分:4)

不是.value而是val()

你的jsfiddle应该是

if ($("#area").val().length > 0){

答案 2 :(得分:4)

试试这个:

$(document).ready(function() {
$("#area").keyup(function() {
    if ($("#area").val() > 8){
        if ($('#text1').is(":hidden")) {
            $('#text1').show(500);
        } else {
            $("#text1").hide(500);
        }
    }
 });
});

答案 3 :(得分:3)

试试这个

$(document).ready(function() {
   $("#area").keyup(function() {
        if ($("#area").val() > 8) {
             $('#text1').toggle("slow");
        }
   });
});

答案 4 :(得分:0)

在比较之前将值解析为int,并使用val而不是value

if (parseInt($("#area").val()) > 8){
 //write the action to be performed here
}