在JQuery中引用ASP.NET元素

时间:2011-08-08 17:24:51

标签: javascript jquery css ajax

在这种情况下,我似乎无法通过指定控件的id来简单地引用我的dropdownlist控件。有谁能帮忙?

 <asp:Panel ID="PnlRepImp" runat="server">
          <div class="module-row">
            <table>
                  <tr>
                        <td>
                              <telerik:RadComboBox ID="SelectRole" runat="server" Width="250px" Height="150px"
                EmptyMessage="Select a Company" OnClientSelectedIndexChanged="PageMethods.LoadUsers(this);"  EnableLoadOnDemand="true" ShowMoreResultsBox="true"
                EnableVirtualScrolling="true">
                              </telerik:RadComboBox>

                        </td>

                  </tr>
            </table>
            </div>

      </asp:Panel>

同样希望了解如何在所有情况下学会这样做的信息。

3 个答案:

答案 0 :(得分:4)

$('#<%= ControlYouWant.ClientID %>')

那应该给你一个你想要的jQuery实例。

答案 1 :(得分:2)

你需要在你的javascript中获取客户端ID

 alert('<%= Control.ClientID %>');

var list=$('<%= "#"+ Control.ClientID %>');

答案 2 :(得分:1)

您将无法使用ID为“SelectRole”的JQuery选择器匹配ASP.NET控件,因为ClientID上的ID类似于“ParentControlID_SelectRole”。有时您可以使用$(“ParentControlID_SelectRole”)之类的东西来匹配它,因为您在开发期间观察到这是由ASP.NET一致“生成”的客户端ID。我不喜欢这种方法,因为有时你会重新安排控件层次结构,你的匹配算法不再有效。

您可以向ASP.NET控件添加CssClass元素,并将其值设置为控件ID。在这种情况下,您可以设置CssClass =“SelectRole”,然后在JQuery中,您可以匹配$(“。SelectRole”)。

或者,您使用JQuery通配符(*)选择器来匹配以下元素:

 var theCombobox = $("select[id*='SelectRole']"); //assumed to be <select> on client DOM