2011-03-16 44 views
0

我的頁面中有更多的文本框控件,當文本爲空時,CSS或類應該更改,並且當有一些文本時,我需要更改當前的CSS或類。我沒有得到如何做到這一點的邏輯。我的設計代碼是這樣的:如何根據文本框值更改類名

<asp:TextBox ID="txtFirstName" runat="server" CssClass="field" Width="150px"></asp:TextBox> 
<asp:TextBox ID="txtLastName" runat="server" CssClass="field" Width="150px"></asp:TextBox> 
<asp:TextBox ID="txtemail" runat="server" CssClass="field" Width="150px"></asp:TextBox> 
<asp:TextBox ID="txtpassword" runat="server" CssClass="field" Width="150px"></asp:TextBox> 
<asp:TextBox ID="txtconfirmpassword" runat="server" CssClass="field" Width="150px"></asp:TextBox> 
+0

您的代碼似乎未包含在內;請編輯您的問題以包含代碼,以便更容易理解問題。 – Schmuli

+0

你的標誌是什麼?順便說一句,在html中有** no **'textbox'元素。從來沒有過。你使用'textarea'還是'input type =「text」'? –

回答

0

喜歡的東西:

$('#myInput').keyup(function() { 
    if ($(this).val()) { 
     $(this).removeClass('empty-class'); 
     $(this).addClass('full-class'); 
    } else { 
     $(this).removeClass('full-class'); 
     $(this).addClass('empty-class'); 
    } 
}); 

工作實例在http://jsfiddle.net/z4TQY/1/

我假設你想爲兩個國家兩個不同的類,而不是單一的添加或刪除的類。

順便說一句,這是工作在文本框的keyup而非keypress,因爲後者火災之前內容通過按鍵得到改變。

此外,爲了獲得更一致的行爲,請對.change()註冊相同的功能,以便您的類能夠反映任何不是按鍵事件結果的更改。

1
$('#element').keypress(function() { 
    if ($(this).val() == '') { 
     $(this).removeClass('myClass'); 
    } else { 
     $(this).addClass('myClass'); 
    } 
}); 
0

使用這樣的事情(我不能馬上進行測試):

$("#textboxid").change(function(){ 
    if($(this).val() != ''){ 
    $(this).addClass('cssclass'); 
    } else { 
    $(this).removeClass('cssclass'); 
    } 
}); 

希望它能幫助。