代码之家  ›  专栏  ›  技术社区  ›  Chase Florell

还有一个“对象不支持这个属性或方法”-jQuery

  •  2
  • Chase Florell  · 技术社区  · 15 年前

    我刚刚将我的应用程序切换到运行在MVC3和Razor视图引擎上,现在我得到了一个JavaScript错误。问题是,在JavaScript方面没有任何变化。。。它以前起过作用。

    这是密码

    <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:对象不支持此属性或方法

    我就是想不出来。

    4 回复  |  直到 15 年前
        1
  •  18
  •   SLaks    15 年前

    您包含了两次jQuery。

        2
  •  3
  •   Hamish    15 年前

    你在打电话 .autocomplete 在包含基本jQuery库之后-它不包含自动完成插件。修复脚本引用的顺序,并确保在尝试使用自动完成插件之前包含该插件。

        3
  •  1
  •   Elijan    15 年前

    在自定义脚本调用之前加载

    <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>
    
        4
  •  0
  •   Alexey Semenko    11 年前

    重复的jQuery声明,请检查页面的视图源