Я использую jQuery mobile для нашего мобильного сайта. Элемент управления Asp.net dropdownlist отображается как мобильный выбор jQuery.
HTML:
<asp:Content ID="Content4" ContentPlaceHolderID="MainContent" Runat="Server" >
<asp:DropDownList ID="ddlCom" class="ddlCom" name="ddlCom" runat="server">
</asp:DropDownList>
<table id="compTable"></table>
</asp:Content>
и Javascript:
$(document).ready(function () {
$('#<%=ddlCom.ClientID %>').select(function () {
alert("it works");
});
$('.ddlCom').change(function () {
alert("css works");
});
$('select[name=ddlCom]').change(function () {
alert("css works");
});
$("select[id$=ddlCom]").change(function() {
alert(" works");
});
ни один из них не будет срабатывать, когда я нажму и выберем форму с выпадающим списком. Что дает?
Благодаря,
РЕДАКТИРОВАТЬ:
Сгенерированный HTML:
<div class="ui-select">
<a href="#" role="button" aria-haspopup="true" data-theme="c" class="ui-btn ui-btn-icon-right ui-btn-corner-all ui-shadow ui-btn-up-c">
<span class="ui-btn-inner ui-btn-corner-all">
<span class="ui-btn-text">Finance Department</span><span class="ui-icon ui-icon-arrow-d ui-icon-shadow">
</span></span></a>
<select name="ctl00$MainContent$ddlCom" id="ctl00_MainContent_ddlCom" class="ddlCom" data-mini="true" tabindex="-1">
<option value="1">......</option>
<option value="2">.....</option>
<option value="3">......</option>
</select></div>
$('#<%=ddlCom.ClientID %>').change(function () {
alert("it works");
});
Это будет работать, если вы измените его на "Изменить", как я.
также это
$('.ddlCom').change(function () {
alert("css works");
});
если вы измените свое объявление в раскрывающемся списке, чтобы указать cssclass
<asp:DropDownList ID="ddlCom" CssClass="ddlCom" name="ddlCom" runat="server">
</asp:DropDownList>
И это сработало бы, если бы у вас не было опечатки
$("select[id$='ddlCom']").change(function() {
alert(" works");
});
Оказывается, есть двойные ссылки на jQuery и jQuery mobile в разных версиях на главной странице и на заголовок страницы, чтобы она сломалась. Он работает так, как сейчас. Спасибо всем
$('.ddlCom').off('change').on('change', function(){..});
очистить любую существующую привязку, но ваши валидаторы (смеется) могут перестать работать.