ASP.NET DropDownList 服务器控件不会触发 jQuery.选择时更改()



我正在使用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>
$('#<%=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有双重引用,所以它坏了。它现在正在正常工作。谢谢大家

最新更新