2015-03-20 2 views
1

Я хотел бы сгенерировать событие jQuery с событием ASP .Net. Вот часть ASP и JQuery код:ASP .Net jQuery Случай изменения DropDownList

<asp:Content runat="server" ID="BodyContent" ContentPlaceHolderID="body"> 
<p> 
    <asp:DropDownList ID="DropDownList1" runat="server"> 
    </asp:DropDownList> 
    <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> 
</p> 
<script type ="javascript"> 
    $('#DropDownList1').change(function() { 
     alert("Handler for .change() called."); 
    }); 
</script> 
</asp:Content> 

Пытался получить элемент по ID # body_DropDownList1 и # DropDownList1. К сожалению, в обоих случаях нет выхода.

+0

Может вы помещаете HTML-код, сгенерированный в браузере, в раскрывающийся список? – wonderbell

ответ

5

Если вы проверите элемент dropdownlist в инструментах разработчика, вы заметите, что идентификатор фактически не является DropdownList1. Asp генерирует id, основанный на свойстве ID, чтобы предотвратить дублирование, поэтому он отображает по-разному. Вы не можете полагаться на копирование того, который он генерирует, поскольку он может потенциально отобразить его с помощью другого ClientID. Вы можете просто установить CssClass выбрать хотя:

<asp:Content runat="server" ID="BodyContent" ContentPlaceHolderID="body"> 
<p> 
    <asp:DropDownList CssClass="DropdownList1" ID="DropDownList1" runat="server"> 
    </asp:DropDownList> 
    <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> 
</p> 
<script type="text/javascript"> 
    $('.DropdownList1').change(function() { 
     alert("Handler for .change() called."); 
    }); 
</script> 
</asp:Content> 

Вы также можете выбрать элемент на основе ClientID (идентификатор, который фактически оказанной на клиенте) следующим образом:

$("#<%=DropdownList1.ClientID %>") 
+0

Смежные вопросы