Javascript jquery自动完成:此菜单未定义

Javascript jquery自动完成:此菜单未定义,javascript,jquery,jquery-ui,jquery-autocomplete,Javascript,Jquery,Jquery Ui,Jquery Autocomplete,我正在使用jQueryUI自动完成一些数据。现在我有3个自动完成元素,其中2个工作正常,一个不正常。在页面的开头,他告诉我错误elem.ownerDocument为null。当我将文本放入input字段时,他找到了结果,但我得到了错误this.menu未定义(jquery.js第6012行),它指的是应该显示结果的ul列表 下面是一些代码: $("#iName").autocomplete({ source: widget.festivals_list, autofocus: t

我正在使用jQueryUI自动完成一些数据。现在我有3个自动完成元素,其中2个工作正常,一个不正常。在页面的开头,他告诉我错误
elem.ownerDocument为null
。当我将文本放入
input
字段时,他找到了结果,但我得到了错误
this.menu未定义(jquery.js第6012行)
,它指的是应该显示结果的
ul列表

下面是一些代码:

$("#iName").autocomplete({
    source: widget.festivals_list,
    autofocus: true,
    focus: function (e, ui) {
        return false;
    },
    search: function (event, ui){
        ownFest = true;
        $("#iDate").removeAttr("disabled");
        $("#iTime").removeAttr("disabled");
    },
    select: function (event, ui) {
        ownFest = false;
        $(event.target).val(ui.item.label);
        selectedN = ui.item.value;
        $(widget.festivals).each(function fn(){
            if(this.id == ui.item.value){
                $("#iDate").val(this.date).attr("disabled", "disabled");
                $("#iTime").val(this.time).attr("disabled", "disabled");
            }
        });
        return false;
    }
});
HTML代码:

<table>
                    <tr>
                        <td>Type the name</td>
                    </tr>
                    <tr>
                        <td><input type="text" id="iFest"/></td>
                    </tr>
                </table>
也有这些问题的人? 谢谢

(使用jQuery 1.5.2和jQuery UI 1.8.11)


谢谢

我相信这是因为你的“这”超出了范围

在函数中,“this”并不总是您所认为的那样

通常的解决方案是引用您的全球“this”

var element = $(this);

在函数中引用元素而不是“this”


你也可以发布你的HTML吗?或者指出哪一行有错误?我似乎无法从您的代码片段中看到它。

您缺少一个由autocomplete引用的库

因此,包括:

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


祝你好运

改变了我问题的内容
var me = this;
<script type="text/javascript" src="js/ui/jquery.ui.menu.js"></script>