运行检查空输入类型的文本

时间:2012-02-24 21:09:24

标签: javascript jquery

如何在按键功能之后运行检查以查看输入值是否为空,以便我可以执行其他操作。

例如。

    $("input[name=amount]").keypress(function() {
        $("table[name=apply]").show();
    });

如果用户删除了所有击键,我想隐藏表格。

5 个答案:

答案 0 :(得分:1)

您可以使用keyup事件代替keypress来尝试此操作,因为keypress不会为您提供最新值。

$("input[name=amount]").keyup(function() {
     //Here this points to the textbox element and value gives its content
     if(this.value == ''){
          $("table[name=apply]").show();
     }
});

如果您想切换表格,可以使用它。

$("input[name=amount]").keyup(function() {
     $("table[name=apply]").toggle(this.value != '');
});

toggle(showOrHide) - 显示或隐藏匹配的元素。

<强> Demo

答案 1 :(得分:1)

使用keyup()方法在击键完成后执行检查:

$("input[name=amount]").keyup(function() {
    if(this.value === ''){....}
});

如果绑定到keypresskeydown事件,则事件处理程序内的输入值将不会受到击键影响。这就是您需要绑定到keyup的原因。

答案 2 :(得分:1)

$("input[name=amount]").keyup(function() {
    if (this.value == '') {
        $("table[name=apply]").hide();
    } else {
        $("table[name=apply]").show();
    }
});

您可能希望使用keyupchange事件,因此在事件处理程序运行之前,文本框的值已更改。 keypress事件在输入值发生更改之前触发,因此,例如,如果输入为空并且输入了一个键,则事件处理程序中的值仍将显示为空白。

以下是演示:http://jsfiddle.net/jasper/C5KPq/

答案 3 :(得分:0)

您可以使用以下

if( $(this).val() == "")

答案 4 :(得分:0)

尝试:

if ($("input[name=amount]").val() == '') // input is empty