TypeError:$(“#city”)。自动完成不是一个函数

时间:2012-08-01 07:22:08

标签: autocomplete

这是我的php页面编码:

<script type="text/javascript" src="js/addclasskillclass.js"></script>
<script type="text/javascript" src="js/attachevent.js"></script>
<script type="text/javascript" src="js/addcss.js"></script>
<script type="text/javascript" src="js/tabtastic.js"></script>
<script type="text/javascript" src="js/ajax.js"></script>
<script type="text/javascript" src="js/ajax-dynamic-list1.js"></script>
<script type="text/javascript" src="js/backtotop.js"></script>
<link type="text/css" rel="stylesheet" href="calendar/dhtmlgoodies_calendar.css?random=20051112" media="screen"></LINK>
<script language="javascript" type="text/javascript" src="calendar/dhtmlgoodies_calendar.js?random=20060118"></script>
<script type="text/javascript" src="js/jquery.autocomplete.js"></script>
<script>
$(function() {
    $(window).scroll(function() {
        if($(this).scrollTop() != 0) {
            $('#toTop').fadeIn();   
        } else {
            $('#toTop').fadeOut();
        }
    });

    $('#toTop').click(function() {
        $('body,html').animate({scrollTop:0},600);
    }); 
});
</script>
<script>
$(document).ready(function(){
 $("#city").autocomplete("autocityuser.php", {
        selectFirst: true
    });
});
</script>

<form method="get" name="frm1" id="frm1" action="#">
<input type="text" id="city" name="city" value="" style="width:160px;" size="30" />
</form>

当我加载此页面时,FF显示此错误: TypeError:$(“#city”)。autocomplete不是函数

我在另一个页面上为autocomplete应用了相同的代码(但使用较少的js导入)并且它运行正常。 但它显示我在这个页面上的错误,可能是因为一些js是冲突的。 任何人都可以帮我解决这个错误???

P.S。我忘了提到我在这个页面上有2个表单,它们都有不同的ID和名称

P.S。我还是不知道问题是什么,但幸运的是 问题解决了, 我只是将下面的代码放在页面的末尾,一切都很完美。

<script>
    $(document).ready(function(){
     $("#city").autocomplete("autocityuser.php", {
            selectFirst: true
        });
    });
    </script>

3 个答案:

答案 0 :(得分:0)

您正在使用jQuery UI(自动填充)的一部分,但看起来您没有使用jQuery库。

尝试包含以下脚本:

    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
    <script src="http://code.jquery.com/ui/1.8.22/jquery-ui.min.js" type="text/javascript"></script></script>

修改

我认为你的基本方法是错误的。

您希望调用PHP以使用AJAX获取自动完成选项,并将回显的值粘贴到变量availableTags中。然后,您需要设置自动填充功能。

像这样(未经测试):

var availableTags;
$.get("autocityuser.php", function(data){
      availableTags = data;  // You need to format the data either here or in your PHP
});
$("#city").autocomplete({source: availableTags});​

答案 1 :(得分:0)

是否有其他lib使用$并覆盖jQuery的用法?也许,试试jQuery("#city").autocomplete

答案 2 :(得分:0)

最近我遇到了同样的问题。我发现两个不同版本的jquery lib文件包含在两个不同的地方。

使用firebug查找额外的包含,因为js库可能已包含在其他包含的文件中。

相关问题