2011-04-14 81 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