对象[object Object]没有方法'autocomplete'

时间:2014-02-20 17:00:50

标签: javascript jquery jquery-ui joomla autocomplete

我在joomla 3.2.2安装中使用亚马逊脚本中的jquery自动完成。 jQuery调用是由joomla和jquery easy插件生成的,它配置为添加jquery 1.10.2和jquery ui 1.10.3并删除任何其他实例(它似乎忽略了joomla添加的版本)。

脚本出现如下:

  <link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/themes/smoothness/jquery-ui.css" type="text/css" />
  <link rel="stylesheet" href="/foobar/media/sourcecoast/css/sc_bootstrap.css" type="text/css" />
  <link rel="stylesheet" href="/foobar/cache/widgetkit/widgetkit-4d6b5675.css" type="text/css" />
  <link rel="stylesheet" href="/foobar/media/sourcecoast/css/mod_sclogin.css" type="text/css" />
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js" type="text/javascript"></script>
  <script src="https://ajax.aspnetcdn.com/ajax/jquery.migrate/jquery-migrate-1.2.1.min.js" type="text/javascript"></script>
  <script src="/foobar/plugins/system/jqueryeasy/jquerynoconflict.js" type="text/javascript"></script>
  <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js" type="text/javascript"></script>
  <script src="/foobar/media/system/js/tabs-state.js" type="text/javascript"></script>
  <script src="/foobar/media/jui/js/jquery.min.js" type="text/javascript"></script>
  <script src="/foobar/media/jui/js/jquery-noconflict.js" type="text/javascript"></script>
  <script src="/foobar/media/jui/js/jquery-migrate.min.js" type="text/javascript"></script>
  <script src="/foobar/media/jui/js/bootstrap.min.js" type="text/javascript"></script>

失败的js是:

jQuery(function () {
jQuery("#jform_itemtitle").autocomplete({
    minLength: 3,
    source: function (req, res) {
        jQuery.ajax({
            url: 'http://completion.amazon.com/search/complete',
            cache: true,
            dataType: 'jsonp',
            data: {
                'search-alias': 'aps',
                    'client': 'amazon-search-ui',
                    'mkt': '1',
                    'q': req.term
            },
            error: function (data) {
                return false;
            },
            success: function (data) {
                res(data[1]);
            }
        });
    }
});
});

错误是:

未捕获TypeError:对象[object Object]在控制台中没有方法'autocomplete',并且自动完成脚本不起作用。

1 个答案:

答案 0 :(得分:2)

将下面放在最顶层。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js" type="text/javascript"></script>

并删除以下内容。两个版本/包含可能是危险的:

<script src="/foobar/media/jui/js/jquery.min.js" type="text/javascript"></script>

事实上只保留1个版本。我看到很多js文件都是重复的。