2012-02-24 55 views
0

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

例如。

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

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

回答

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/

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

0

您可以使用以下

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

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

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

如果您绑定到keypress或​​事件,我的价值输入到事件处理程序中的内容不会受到按键的影响。这就是为什么你需要绑定到keyup

0

尝试:

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