2012-09-18 45 views
0

我真的在爭取簡單的級聯DropDown工作。我正在做一個非常基本的例子,但它失敗了。所以我正試圖去看看eventscontrols的關係。試圖讓事件觸發下拉變化

我有這樣的:

<script type="text/javascript"> 
$(document).ready(function() { 

    $('#CarMakeId').change(function() { 
     alert("khsdhf") 
    }); 
}) 
</script> 

    <html> 
    <head> 
     <title>Index</title> 
    </head> 
    <body> 
     <div> 
      Make: @Html.DropDownListFor(x=>x.CarMakeId, 
        new SelectList(Model.CarMakes, "Value", "Text"), 
        "-- select make --") <br /> 
      Model: @Html.DropDownListFor(x=>x.CarModelId, 
        new SelectList(Model.CarModels, "Value", "Text"), 
        "-- select model --")   
     </div> 
    </body> 
    </html> 

所有我想要它做的事,現在,當我在下降更改選擇向下提醒我。但我在Java Script越來越"Object expected

這裏呈現的HTML:

<!DOCTYPE html> 
<script type="text/javascript"> 
    $(document).ready(function() { 

     $('#CarMakeId').change(function() { 
      alert("khsdhf"); 
     }); 
    }) 
</script> 
<html> 
<head> 
    <title>Index</title> 
</head> 
<body> 
    <div> 
<form action="/" method="post">   <p> 
      Make: <select data-val="true" data-val-number="The field CarMakeId must be a number." data-val-required="The CarMakeId field is required." id="CarMakeId" name="CarMakeId"><option value="">-- select make --</option> 
<option value="1">BMW</option> 
<option selected="selected" value="2">Ford</option> 
<option value="3">Toyota</option> 
</select> 
      <br /> 
      Model: <select data-val="true" data-val-number="The field CarModelId must be a number." data-val-required="The CarModelId field is required." id="CarModelId" name="CarModelId"><option value="">-- select model --</option> 
<option value="5">Mustang</option> 
<option selected="selected" value="6">Territory</option> 
<option value="7">Focus</option> 
</select> 
     <br /> 
     <input type="submit" name="Submit" title="Submit" /> 
     </p> 
</form> </div> 
</body> 
</html> 

附加信息:

這是給了同樣的錯誤:

<script type="text/javascript"> 
    $(document).ready(function() { 
     alert("Hello"); 
    }) 
</script> 
+0

將你的JavaScript成的document.ready –

+0

完成 - 更新的問題,不過,同樣的問題。 – Craig

+2

爲您的下拉菜單生成的HTML是什麼ID CarMakeId?你可以發佈嗎?另外,你確定你的jQuery被加載? – dpp

回答

0

嘗試添加$(document).ready以確保在添加事件處理程序之前存在下拉菜單。

<script type="text/javascript"> 
$(document).ready(function(){ 
    $('#CarMakeId').change(function() { 
     alert("khsdhf") 
    }); 
}); 
</script> 

ready將在DOM加載時觸發。在這裏閱讀更多http://api.jquery.com/ready/

0

檢查頁面上的JavaScript錯誤。它可能是一個缺少分號;在alert()行的末尾。你也可以使用IE9中的'開發者工具'或Firefox中的'Firebug'進行調試

+0

中,工具,選項有一個令人討厭但有時候很有用的選項「在頁面發生錯誤後顯示通知」。 – hagensoft

0

問題是我沒有JQuery腳本鏈接!

<script src="../../Scripts/jquery-1.5.1.js" type="text/javascript"></script>