我正在尝试将它与 asp.net 服务器运行下拉列表一起使用。当 asp.net 控件在页面上呈现时,它具有不同的 id,例如:“ctl00_ContentPlaceHolder1_ddlAgentName”,尽管下拉列表在代码中是这样声明的:
<asp:DropDownList Selected="True" ID="ddlAgentName" runat="server" CssClass="dropdown nostyle sel1" Width="100%" />
我正在尝试两种情况:
$(document).ready(function () {
$("#<%=ddlAgentName.ClientID %>").select2({
minimumInputLength: 4
});
$("#ctl00_ContentPlaceHolder1_ddlAgentName").select2({
minimumInputLength: 4
});
});
但他们都不想工作。渲染的 HTML 输出为:
<select name="ctl00$ContentPlaceHolder1$ddlAgentName" id="ctl00_ContentPlaceHolder1_ddlAgentName" class="dropdown nostyle sel1" Selected="True" style="width:100%;"></select>
我尝试了普通(非服务器)选择框,jQuery 脚本在那里工作正常。
查看
ClientIDMode
属性。 这样就可以确保 DDL 的名称是相同的。
或者,您可以给它一个唯一的类名并以这种方式获得它,但这有点麻烦。