2011-04-14 123 views
2

我写了Asp.Net MVC应用程序,并且想要实现级联下拉列表功能,但是我遇到了jQuery更改事件的问题。 我错在哪里?jQuery下拉列表更改事件不会触发

的Javascript:

<script charset="utf-8" type="text/javascript" language="javascript" src="<%= Url.Content("~/Content/jquery-1.4.1.js") %>"></script> 
<script charset="utf-8" type="text/javascript" language="javascript"> 
    $(document).ready(function() { 
     $("#ddlCategories").change(function() { alert("It worked!"); }); 
    }); 
</script> 

MVC:

<%=Html.DropDownList("CategoriesId", (SelectList)ViewData["CategoriesList"], new { Id = "ddlCategories" })%>      
<%=Html.DropDownList("ModelId", (SelectList)ViewData["ModelsList"], new { Id = "ddlModels" })%> 

HTML:

<select name="CategoriesId" id="ddlCategories"> 
    <option value="1">Thermage Solta Medical</option> 
    <option value="2">Syneron</option> 
    <option value="59">Deka</option> 
</select>      
<select name="ModelId" id="ddlModels"> 
    <option value="1">Thermage NXT RF</option> 
    <option value="2">Thermacool TC</option> 
</select>  
+0

在firefox中检查它可能抛出的任何错误 – iamserious 2011-04-14 10:31:39

+0

该代码是否正常,并且应该可以正常工作,但可能存在影响此代码的其他因素 – iamserious 2011-04-14 10:44:08

+0

我的示例http://blogs.msdn.com/b /rickandy/archive/2012/01/09/cascasding-dropdownlist-in-asp-net-mvc.aspx这样做。另见http://www.asp.net/mvc/tutorials/javascript/working-with-the-dropdownlist-box-and-jquery/using-the-dropdownlist-helper-with-aspnet-mvc – RickAndMSFT 2012-03-31 18:51:18

回答

1

工作正常,看here。你确定你没有任何其他的JavaScript错误?

4

这看起来很明显,而且我知道这个问题已经过时了,但是为了防止有人通过第一张海报描述的问题到达此页面,至少有一个可能的原因可能会在使用继承代码或大型项目。

检查以确保您选择的元素的ID是唯一的。我知道ID应该是唯一的,但是因为如果使用HtmlHelper类,ASP.NET MVC将为您创建ID,并且由于您可能在单个页面中显示多个部分,所以存在重复的可能性很高。在我的情况下,我有两个具有相同ID的元素,所以当我将事件附加到$('#selectID')时,它附加到第一个,而不是我想要的那个。

+0

啊哈好点!这正是我的问题! – 2012-05-29 00:06:06

相关问题