2012-02-24 56 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