2012-02-09 40 views
0

我有一個帶有一些文本框的.Net頁面,有時會禁用它。如果可能,請選擇下一個啓用的文本框(jQuery,.Net 4)

<asp:TextBox ID="TextBox1" runat="server" CssClass="tb"></asp:TextBox> 
<asp:TextBox ID="TextBox2" runat="server" CssClass="tb" Enabled="false"></asp:TextBox> 
<asp:TextBox ID="TextBox3" runat="server" CssClass="tb"></asp:TextBox> 

使用jQuery,我要做到以下幾點:

如果一個文本框失去焦點,我想選擇一個啓用文本框,如果有任何。 否則,我想做其他事情(例如顯示一條消息)。

我不知道該怎麼做。

jQuery(document).ready(function() { 

    $('.tb').blur(function() { 


    }); 

}); 

生成的HTML:

<input name="ctl00$MainContent$TextBox1" class="tb" id="MainContent_TextBox1" 
    type="text"/> 

<input name="ctl00$MainContent$TextBox2" disabled="disabled" class="aspNetDisabled tb" 
    id="MainContent_TextBox2" type="text"/> 

<input name="ctl00$MainContent$TextBox3" class="tb" id="MainContent_TextBox3" 
    type="text"/> 
+0

難道這些輸入的所有兄弟姐妹?如果是這樣,他們都是一個接一個地存在還是存在其他元素? – 2012-02-09 13:36:56

+0

這裏有很多需要檢查的地方,你必須檢查當前的盒子是什麼,你必須檢查當前的盒子是否是最後一個盒子等等。我想我知道怎麼做,但我懷疑它是最好的方法 – 2012-02-09 13:38:49

+0

@詹姆斯不,中間沒有元素。 – AGuyCalledGerald 2012-02-09 13:40:15

回答

1
jQuery(document).ready(function() 
{ 
    $('.tb').blur(function() 
    { 
     var t = $(this).nextAll(".tb:not([disabled])").eq(0); 
     if(t.length == 0) alert('xxxx'); 
     else t.focus(); 
    }); 
}); 

http://jsbin.com/ixevor/edit#javascript,html

+0

是的,似乎在任何情況下工作。謝謝。 – AGuyCalledGerald 2012-02-09 13:50:33

相關問題