我正在使用来自http://stephenwalther.com/blog/archive/2008/09/07/asp-net-mvc-tip-41-creating-cascading-dropdown-lists-with-ajax.aspx的级联下拉列表。
我需要在下拉列表中设置一个值,然后调用change事件,以便级联下拉列表第一次看起来不是空白。
但是更改事件没有调用try:
$('#Country').trigger('change');
or
$('#Country').change();
如何调用此下拉列表的更改事件以触发级联下拉列表。
答案 0 :(得分:0)
您的下拉列表是控制服务器端(asp:dropdownlist标记)还是客户端(选择标记)?
如果它们是服务器端,则需要为控件注入客户端ID。这可能是事件发生不足的原因。
在ASP.NET中,服务器端控件具有不同的生成的客户端ID(因此ID为“Country”的DropDownList将具有类似ct01_ct050_Country的客户端ID。
在这些情况下,您可以使用以下命令在运行时在标记上注入客户端ID:
$('#<% Country.ClientID %>').change(function() {
//code here
});
在运行时,呈现的代码/标记最终将如下所示:
$('#ct01_ct050_Country').change(function() {
//code here
});
避免客户端/服务器ID的另一个选择是将唯一的CSS类名称应用于控件并由其选择:
标记:
<asp:DropDownList ID="Country" CssClass="countryDD" runat="server" />
和jQuery:
$('select.countryDD').change(function () {
//code here
});
这个答案适用于直接的ASP.NET。我不确定它是否与MVC相关,因为我不使用该框架,但我认为它在概念或标记与客户端代码方面非常接近。
希望这可能有所帮助...
答案 1 :(得分:0)