2014-12-05 67 views
0

在我的網頁我想訪問控制的客戶端ID在$(document).ready函數的客戶端ID,下面獲取控制

是代碼,,

<asp:DataGrid ID="dgrStakeholders" runat="server" > 
          <Columns> 
           <asp:TemplateColumn> 
            <ItemTemplate> 
             <asp:Literal ID="lit1" runat="server" /> 
            </ItemTemplate> 
            <EditItemTemplate> 
              <telerik:RadComboBox ID="combo1" EnableLoadOnDemand="true" runat="server"></telerik:RadComboBox> 
            </EditItemTemplate> 
            <FooterTemplate> 
             <telerik:RadComboBox ID="combo11" EnableLoadOnDemand="true" runat="server"></telerik:RadComboBox> 
            </FooterTemplate> 
           </asp:TemplateColumn> 
           <asp:TemplateColumn > 
            <ItemTemplate> 
             <asp:Literal ID="lit2" runat="server" /> 
            </ItemTemplate> 
            <EditItemTemplate> 

             <telerik:RadComboBox ID="combo3" EnableLoadOnDemand="true" runat="server"></telerik:RadComboBox> 

            </EditItemTemplate> 
            <FooterTemplate>           
             <telerik:RadComboBox ID="combo4" EnableLoadOnDemand="true" 
              Width="150px" Height="150px" Filter="Contains" runat="server"></telerik:RadComboBox>            
            </FooterTemplate> 
           </asp:TemplateColumn> 

           <asp:TemplateColumn > 
            <ItemTemplate> 
             <asp:Literal ID="lit54" runat="server" /> 
            </ItemTemplate> 
            <EditItemTemplate> 
             <asp:TextBox ID="txt11" runat="server" Width="160px" /> 
             <asp:ListBox ID="lstNo" runat="server" DisplayMode="LinkButton" 
              Style="display: none; position: absolute; margin: 2px; width: 210px" /> 
             <input type="button" id="btnNo" style="width: 10px; 
              vertical-align: middle; height: 23px; margin-left: -3px; border-style: solid; 
              border-width: thin; border-color: #7F9DB9; border-bottom-width: 1px; background-image: url(../../../Images/dropdownarrow.bmp); 
              background-repeat: no-repeat; background-position: center;" /> 
            </EditItemTemplate> 
            <FooterTemplate> 
             <asp:TextBox ID="txt12" runat="server" Width="160px" /> 
             <asp:ListBox ID="lstNo1" runat="server" DisplayMode="LinkButton" 
              Style="display: none; position: absolute; margin: 2px; width: 210px;" /> 
             <input type="button" id="btnNo1" style="width: 10px; 
              vertical-align: middle; height: 23px; margin-left: -3px; border-style: solid; 
              border-width: thin; border-color: #7F9DB9; border-bottom-width: 1px; background-image: url(../../../Images/dropdownarrow.bmp); 
              background-repeat: no-repeat; background-position: center;" /> 
            </FooterTemplate> 
           </asp:TemplateColumn> 
           <asp:TemplateColumn> 
            <ItemTemplate> 
             <asp:LinkButton ID="link1" runat="server"/> 

            </ItemTemplate> 
            <EditItemTemplate> 

            </EditItemTemplate> 
            <FooterTemplate> 

            </FooterTemplate> 
           </asp:TemplateColumn> 
          </Columns> 
         </asp:DataGrid> 

我想在$(document).ready函數中獲取控件'lstNo'和'lstNo1'的id,如何獲取$(document).ready函數中Listbox'lstNo'和'lstNo1'的id?

我的itemtemplate包含多個行,所以使用clientIDMode ='static'將不會得到id,是否有任何其他解決方案呢?

回答

1

如果是在aspx頁面,那麼你可以使用客戶端ID控制的財產得到它:

var Id = <%=lstNo.ClientID%>; 

如果你想在單獨的JS文件來訪問,那麼你可以使用的ClientIDMode使它靜態等客戶端該ID是一樣在服務器端:

<asp:ListBox ID="lstNo" runat="server" DisplayMode="LinkButton" ClientIdMode="Static" 

現在:

var Id = "lstNo"; 

$("#"+Id) 

或直接使用:

$("#lstNo") 
+0

「的形式<%= lstNo.ClientID%>」它顯示在頁面加載錯誤「」 lstNo」未聲明。它可能無法訪問,由於其保護級別 – user3166407 2014-12-05 04:47:09

+0

引用此錯誤:http://stackoverflow.com/questions/6178866/txtname-is-not-declared-it-may-be-inaccessible-due-to-its-保護級別 並確保您的部分類是公開的 – 2014-12-05 04:49:41

+0

如果itemtemplate包含列表框是可重複的,那麼我如何獲得id? – user3166407 2014-12-05 10:32:19

0

這取決於DataGrid控件的HTML呈現。如果它呈現一個html表格標記,那麼你將不得不執行循環html表格的行,然後摘取其ID爲「lstNo」的控件。

請使用firebug等工具查看瀏覽器窗口中生成的html輸出,或者查看IE中的視圖源。我想使用時呈現列表框的下拉中的

<select> tag.