2014-08-27 65 views
0

我想直接在加載頁面上檢查輸入文本,但沒有在輸入中添加任何東西,他不工作。如何修復它?如果輸入類型不爲空添加css樣式

<form action=""> 
    <input type="text" id="author" value="Bill"> 
</form> 

$("#author").keyup(function(){ 
    if($(this).val()) { 
     $("#author").addClass("notempty"); 
     /* if input is not empty do background yellow */ 
    } else { 
     $("#author").addClass("empty"); 
     /* else background is red */ 
    } 
}); 

演示http://jsfiddle.net/540dwmcn/

+0

應注意你可以做'$(this).toggleClass('color',this.value.length)' – adeneo 2014-08-27 14:35:08

回答

2

您的代碼設置爲觸發KeyUp事件。爲了在頁面加載時運行它,通過在末尾添加.keyup();手動觸發鍵控。

jsFiddle example

此外,你可能想清除類和(注意在撥弄使用.removeClass()

$("#author").keyup(function() { 
    if ($(this).val()) { 
     $("#author").removeClass().addClass("notempty"); 
     /* if input is not empty do background yellow */ 
    } else { 
     $("#author").removeClass().addClass("empty"); 
     /* else background is red */ 
    } 
}).keyup(); 
0

DEMO

$("#author").keyup(function(){ 
    if($(this).val()) { 
     $("#author").addClass("notempty") 
     .removeClass("empty"); 
     /* if input is not empty do background yellow */ 
    } else { 
     $("#author").addClass("empty") 
     .removeClass("notempty"); 
     /* else background is red */ 
    } 
}).keyup();