2010-11-14 39 views
2

我刚刚切换我的应用程序运行MVC3和Razor视图引擎,现在我得到一个JavaScript错误。事情是,没有任何东西在JavaScript的一面发生了变化......它在以前工作过。另一个“对象不支持这个属性或方法” - jQuery

下面的代码

<script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.2.min.js"></script> 
<script type="text/javascript"> 
    var json_region = [{"value":365,"label":"Calgary"},{"value":368,"label":"Canmore"},{"value":393,"label":"Edmonton"}] 
    $(function() { 
     $('#UserRegion').autocomplete({ 
      source: json_region, 
      selectFirst: true, 
      select: function(event, ui) { 
       $('#RegionID').val(ui.item.value); 
       $('#UserRegion').val(ui.item.label); 
       return false; 
      } 
     }); 
    }); 
</script> 

<script type="text/javascript" src="/Extras/urbannow.js/1"></script> 
<script src="/Assets/Scripts/jquery.ui.autocomplete.selectfirst.js" type="text/javascript"></script> 
<script src="/Assets/Scripts/wmd.js" type="text/javascript"></script> 
<script src="/Assets/Scripts/showdown.js" type="text/javascript"></script> 
<script src="http://ajax.microsoft.com/ajax/jQuery/jquery-1.4.2.min.js"></script> 
<script src="http://ajax.microsoft.com/ajax/jquery.validate/1.7/jquery.validate.min.js"></script> 
<script src="/Assets/Scripts/jquery.validate.unobtrusive.min.js" type="text/javascript"></script> 

,这是示数

$('#UserRegion').autocomplete({ 

控制台说

SCRIPT438:对象不支持此属性或方法

我只是无法弄清楚这一点。

+0

的很好的一个,你的jQuery包括两次。 (jQuery的1.4.2.min.js)。此外,请尝试执行'Url.Content('file.js')'以包含本地脚本/图像/ css。 (而不是src ='/ Assets /)。 – RPM1984 2010-11-14 08:02:39

+1

嗯,有趣。不知道那个人怎么溜我。就是这样......大声笑。发布它作为一个答案,我会起来你是代表。男孩,它已经越来越晚了。脯氨酸时间拔掉(凌晨1点) – 2010-11-14 08:04:46

+0

我正在做Url.Content,我只是显示了那些不是MVC帅哥的最终标记。 – 2010-11-14 08:05:32

回答

3

在包含基本jQuery库(不包括自动完成插件)后立即致电.autocomplete。修复脚本引用的顺序,并确保在尝试使用它之前包含自动完成插件。

1

负荷在此之前,你的自定义脚本调用

<script src="/Assets/Scripts/jquery.ui.autocomplete.selectfirst.js" type="text/javascript"></script>

或最好的自定义代码应该是你所有的JavaScript文件之后。 所以,你的代码看起来应该像这样

<script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.2.min.js"></script> 
    <script type="text/javascript" src="/Extras/urbannow.js/1"></script> 
    <script src="/Assets/Scripts/jquery.ui.autocomplete.selectfirst.js" type="text/javascript"></script> 
    <script src="/Assets/Scripts/wmd.js" type="text/javascript"></script> 
    <script src="/Assets/Scripts/showdown.js" type="text/javascript"></script> 
    <script src="http://ajax.microsoft.com/ajax/jquery.validate/1.7/jquery.validate.min.js"></script> 
    <script src="/Assets/Scripts/jquery.validate.unobtrusive.min.js" type="text/javascript"></script> 

    <script type="text/javascript"> 
    var json_region = [{"value":365,"label":"Calgary"},{"value":368,"label":"Canmore"},{"value":393,"label":"Edmonton"}]; 
    $(function() { 
     $('#UserRegion').autocomplete({ 
      source: json_region, 
      selectFirst: true, 
      select: function(event, ui) { 
       $('#RegionID').val(ui.item.value); 
       $('#UserRegion').val(ui.item.label); 
       return false; 
      } 
     }); 
    }); 
</script> 
0

重复jQuery的声明,请查看源文件

相关问题