2010-11-14 38 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的聲明,請查看源文件

相關問題