MVC2 JQuery语法不起作用

时间:2010-10-08 06:09:27

标签: jquery ajax asp.net-mvc-2

我正在尝试执行以下操作:

<script src="Scripts/MicrosoftAjax.js" type="text/javascript"></script>
<script src="Scripts/MicrosoftMvcAjax.js" type="text/javascript"></script>
<script src="Scripts/jquery-1.4.1.min-vsdoc.js" type="text/javascript"></script>

<%=Html.DropDownList("ddlPostage", new SelectList(Model.PostageOptions as IEnumerable, "id", "text", Model.SelectedPostageId)) %>

 <script language="javascript">
     $('#ddlPostage').change(function() {
         alert('okay to go');
     });

</script>

但是在JQuery systax上遇到运行时错误。 “Microsoft JScript运行时错误:预期的对象”。

就我而言,我的路径到jquery是可以的,因为表单验证使用 <% Html.EnableClientValidation(); %>在我以前的一个页面中工作正常,jquery文件位于VS2008默认的其他js文件旁边。

我在做什么/这里出了什么问题? 提前谢谢。


谢谢你的回复。我试过两种方式。不幸的是没有用。 这就是我的代码现在的样子..

主要内容持有者:

<script src="Scripts/MicrosoftAjax.js" type="text/javascript"></script>
<script src="Scripts/MicrosoftMvcAjax.js" type="text/javascript"></script>
<script src="Scripts/jquery-1.4.1.min-vsdoc.js" type="text/javascript"></script>
<script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>

<script language="javascript">
     $(document).ready(function() {
         $('#ddlPostage').change(function() {
             alert('ok to go');
         });
     });
</script> 

出于好奇:我只是一个面临这个问题的人吗?

由于

2 个答案:

答案 0 :(得分:2)

首先,您缺少对jQuery本身的引用。您现在使用vsdoc引用的引用只是Visual Studio提供IntelliSense的帮助程序。添加此脚本块以引用jQuery:

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

其次,您应该在document.ready事件中连接事件处理程序。如果没有这个代码,您的代码可能会工作,但可能会以您不期望的方式运行。

 $(document).ready(function() {
     $('#ddlPostage').change(function() {
         alert('okay to go');
     });
 });

答案 1 :(得分:0)

解决了它。整个“javascript”的东西必须添加到头部。 我将它添加到中心内容位置持有者而不是头部内容持有者。

现在它正常工作。我现在可以继续通过Json获得回复的实际目的。

@Jhon,谢谢你的伴侣!