我正在为我们的移动网站使用jQuery mobile。 Asp.net下拉列表控件显示为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>
答案 0 :(得分:3)
$('#<%=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");
});
答案 1 :(得分:0)
事实证明,在Masterpage和页面标题中有不同版本的jQuery和jQuery mobile的双重引用,因此它破坏了。它现在应该正常工作。谢谢大家