0

我已经尝试了很多以消除此错误但无法成功。当我在 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
4

2 回答 2

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>
于 2012-10-01T18:30:47.960 回答
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');

希望这有帮助。

于 2013-12-03T12:14:18.767 回答