jqueryui自动完成问题

jqueryui自动完成问题,jquery,jquery-ui,autocomplete,Jquery,Jquery Ui,Autocomplete,我正在尝试让jQuery UI自动完成小部件工作,但遇到了一些问题。 首先,我试图从数据库中检索一些数据,并将它们以:item1的形式存储在一个隐藏的标记中;项目2;项目3然后使用jQuery引用此标记,并使用.html()(结果为空)或.text()(结果为空字符串)获取其内容。然后我决定在jQuery块内部本地执行所有这些操作,并执行以下操作: var tags = "house ; children's room ; master bedroom ... etc" alert(ta

我正在尝试让jQuery UI自动完成小部件工作,但遇到了一些问题。
首先,我试图从数据库中检索一些数据,并将它们以:
item1的形式存储在一个隐藏的
标记中;项目2;项目3
然后使用jQuery引用此标记,并使用
.html()
(结果为空)或
.text()
(结果为空字符串)获取其内容。然后我决定在jQuery块内部本地执行所有这些操作,并执行以下操作:

var tags = "house ; children's room ; master bedroom ... etc"
    alert(tags); //returns them in the right format
    var availableTags = tags.split(' ;');
    alert(availableTags); //returns them in the form" item1, item2, item3
    alert(availableTags[1]); //returns children's room
    $(".liTagInput").autocomplete({ 
        minLength: 2,
        source: availableTags 
    });
但这仍然不能让自动完成工作。。。为什么它不起作用?我确保我也添加了CSS,所以这应该不是问题

理论上,我仍然希望从数据库中检索数据。在本例中,我只希望将标记回显到html页面,然后按照开头所述进行操作。在其他结果可能太大的情况下,我希望通过AJAX获得它们,但那是另一回事。。。我需要先让它工作,然后我会担心更复杂的场景:)


非常感谢您的帮助

您的演示程序如下所示:

其他一些提示:

  • 是否检查了要添加项目的隐藏元素,以确保内容符合预期
  • 您还可以将标签
    回送到JavaScript数组中(不确定您使用的是什么服务器端技术,因此我无法提供示例),并将其直接传递给autocomplete
  • 将AJAX与autocomplete结合使用并不太糟糕,请查看

我刚刚想好了。问题是因为正在对DOM中尚不可用的元素调用autocomplete。我将上述代码添加到
show()
函数的回调函数中,该函数使“向导页”出现,从而解决了问题…:)