在我的网页中,我想访问$(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>
我想获得控件的ID&#39; lstNo&#39;和&#39; lstNo1&#39;在我的$(document).ready函数中,如何获取Listbox的id&#39; lstNo&#39;和&#39; lstNo1&#39;在$(document).ready function?
我的itemtemplate包含多行,因此使用clientIDMode =&#39; static&#39;不会得到id,还有其他解决方案吗?
答案 0 :(得分:1)
如果它在aspx页面中,那么您可以使用 ClientID 控件属性来获取它:
var Id = <%=lstNo.ClientID%>;
如果您想要在单独的JS文件中访问,那么您可以使用 ClientIDMode 使其静态,以便客户端的ID与服务器端的ID相同:
<asp:ListBox ID="lstNo" runat="server" DisplayMode="LinkButton" ClientIdMode="Static"
现在:
var Id = "lstNo";
$("#"+Id)
或直接使用:
$("#lstNo")
答案 1 :(得分:0)
这取决于DataGrid控件的html呈现。如果它呈现一个html表标记,那么你将不得不执行循环html表的行,然后选择其id包含“lstNo”的控件。
请使用firebug之类的工具检查浏览器窗口中生成的html输出是什么,或者在IE中查看视图源。我猜列表框会以
的形式呈现下拉列表<select> tag.