jQuery TypeError: example( "input#autocomplete" ).autocomplete 不是函数



我已经尝试了很多次来消除这个错误,但都没有成功。当我在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

也许不冲突地清除添加到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>

我想补充一点,可能包含多个jquery文件。可能来自其他包含的php文件。移除此内含物并仅保留在一个位置。最好的方法是将这个js文件包含在一些php文件中,然后使用CCD_ 1包含在所需文件中。

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

像这样的事情。

jquery_include.php

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

然后将这个php文件包含在所需的php文件中。

include_once('jquery_include.php');

希望得到帮助。

最新更新