Javascript JQuery UI自动完成小部件消失

Javascript JQuery UI自动完成小部件消失,javascript,jquery,autocomplete,Javascript,Jquery,Autocomplete,我的自动完成的奇怪行为。 虽然一切正常,但结果显示却一团糟: 如果我按下一个键,它将使用小部件在我的搜索栏的正下方显示结果 当我按下搜索栏中的第二个字母时,小部件消失了,结果显示在我的身体中 我试着使用的:“#搜索栏”,但似乎无法解决问题;我想一直保留这个小部件 这是我的密码: $($("#searchBar").keyup(function() { var querySearch = $("#searchBar").val(); $("#searchBar").autocomplete(

我的自动完成的奇怪行为。 虽然一切正常,但结果显示却一团糟:

  • 如果我按下一个键,它将使用小部件在我的搜索栏的正下方显示结果

  • 当我按下搜索栏中的第二个字母时,小部件消失了,结果显示在我的身体中

我试着使用
的:“#搜索栏”
,但似乎无法解决问题;我想一直保留这个小部件

这是我的密码:

$($("#searchBar").keyup(function() {
var querySearch = $("#searchBar").val();

$("#searchBar").autocomplete({

    source: function(request, response) {
        $.ajax({
            url: "php/queryDB.php",
            type: 'post',
            dataType: "json",
            of: "#searchBar",
            data: {
                action: 'autoComplete',
                parameter: querySearch
              },
            success: function(data) {
              response(data);
              }
            });
        }});
}));
我的控制台中有以下由autocomplete生成的代码:

结果发现我有两个问题:

safari的自动完成欺骗了我,所以我认为它是Jquery小部件(第一次使用Jquery方法,所以我没有意识到),我没有正确格式化代码

以下是为我工作的最终代码:

$("#searchBar").autocomplete({
    delay: 500,
    minLength: 2,
    appendTo: "#autocompleteResultsDiv",
    autoFocus: true,
    classes: {
              "ui-autocomplete": "highlight"
              },
    position: { my : "right top", at: "right bottom" },

   source: function(request, response) {

$.ajax({
    url: "DB.php",
    type: 'post',
    dataType: "json",
    cache: false,
    data: {
        action: 'autoComplete',
        parameter: $("#searchBar").val()
      },
    success: function(data) {
      response(data);
    }
  });
}
});

添加相同的参数也为我修复了它。你知道为什么Firefox一开始就让它消失了吗?