jQuery TypeError:example(" input#autocomplete")。autocomplete不是一个函数

时间:2012-10-01 15:36:28

标签: php javascript jquery jquery-ui joomla

我已经尝试过多次删除此错误但无法获得成功。当我在localhost上运行此脚本时,它工作正常,但不能处理Joomla框架工作。 代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<?php $viewFields=array('c++', 'java', 'php', 'coldfusion', 'javascript', 'asp', 'ruby'); ?>
  <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
  <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>

  <script>
  var example=jQuery.noConflict();
  var arrayFromPHP = <?php echo json_encode($viewFields) ?>;
  example(document).ready(function() {
   example("input#autocomplete").autocomplete({
    source: arrayFromPHP
});
  });
  </script>
</head>
<body>
<center>
<p><img src="<?php echo JURI::base(); ?>images/search_1.png" border="0" alt="" />
<img src="<?php echo JURI::base(); ?>images/business_2.png" border="0" alt="" />
<img src="<?php echo JURI::base(); ?>images/review_3.png" border="0" alt="" />
</p>
</center>
<input id="autocomplete" />
</body>
</html>

它给了我这个错误: -

-

[08:30:24.870] Use of getAttributeNode() is deprecated. Use getAttribute() instead. @ http://50.116.97.120/~amarhost/storage/media/system/js/mootools-core.js:343
[08:30:27.853] TypeError: example("input#autocomplete").autocomplete is not a function @ http://50.116.97.120/~amarhost/storage/index.php/component/storage/?action=war&Itemid=105:210

2 个答案:

答案 0 :(得分:0)

也许noconflict清除添加到jQuery的所有内容。尝试在加载jQuery之后放置noconflict

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script>var example=jQuery.noConflict();</script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
<script>
  var arrayFromPHP = <?php echo json_encode($viewFields) ?>;
  example(document).ready(function() {
     example("input#autocomplete").autocomplete({
        source: arrayFromPHP
     });
  });
</script>

答案 1 :(得分:0)

我想补充一点,可能包含多个jquery文件。也许来自其他包含的php文件。删除此包含并仅保留在一个位置。最好的方法是将这个js文件包含在一些php文件中然后 使用include_once('jquery_include.php');包含在所需文件中。

这可能会解决您的问题。我有同样的问题。这解决了我的问题。

有点像这样。

jquery_include.php

    <script src="scripts/jquery.js" type="text/javascript"></script>

然后将此php文件包含在必需的php文件中。

    include_once('jquery_include.php');

希望得到这个帮助。