【问题标题】:jQuery UI auto-complete problemjQuery UI 自动完成问题
【发布时间】:2011-08-11 20:21:25
【问题描述】:

我正在尝试让 jQuery UI 自动完成小部件工作,但我遇到了一些问题。
首先,我尝试从数据库中检索一些数据并将它们存储在隐藏的<p> 标记中,格式为:item1 ; item2; item3;,然后使用 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 获取它们,但这是另一回事......我需要先让它工作,然后我会担心更复杂的场景:)

非常感谢任何帮助!

【问题讨论】:

    标签: jquery jquery-ui autocomplete


    【解决方案1】:

    您的演示代码如下所示:http://jsfiddle.net/aXuHq/

    其他一些提示:

    • 您是否检查了要附加项目的隐藏元素以确保内容符合您的预期?
    • 您也可以将 echo 标记放入 JavaScript 数组(不确定您使用的是什么服务器端技术,因此我无法提供示例),然后将其直接传递给自动完成。李>
    • 使用带有自动完成功能的 AJAX 设置起来还不错,请查看 demo

    【讨论】:

    • 我刚刚弄明白了。问题是因为在 DOM 中尚不可用的元素上调用了自动完成功能。我将上面的代码添加到 show() 函数的回调函数中,这使得出现“向导页面”并解决了问题...... :)
    猜你喜欢
    • 2011-11-16
    • 2017-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多