【问题标题】:displaying results from jquery autocomplete显示来自 jquery 自动完成的结果
【发布时间】:2011-03-17 06:34:14
【问题描述】:

我有一个可以提供一些结果的 cakephp 应用程序和一个可以很好地格式化这些结果的 php 文件 结果以表格形式显示。

在我的搜索页面中,我使用 jquery 在蛋糕应用程序上调用自动完成功能。到目前为止,一切都很顺利。我可以发送我的请求,ajax 工作,我得到格式化的 html 页面。但由于我是 jquery 新手,我不知道如何实际显示这个结果..

我的 jquery 是这样的

$(document).ready(function() {
     $("input#search").autocomplete(........

抱歉没有确切的代码块,我现在在家...

如何使用 jquery 的自动完成功能在 div 中显示从 ajax 返回的 html 内容?

非常感谢

【问题讨论】:

    标签: jquery cakephp-1.3


    【解决方案1】:

    尝试通过“html”将返回的html页面内容传递到一个div对象中。

    $('#id-something').html(ajaxResultHtml);
    

    【讨论】:

      【解决方案2】:

      jQuery 自动完成在匹配的元素中显示结果,在这种情况下,输入的 id 为 search,但据我所知,脚本的响应必须是 JSON 表示法。

      【讨论】:

        【解决方案3】:

        我假设您使用 string 作为源,因此在这种情况下,您指定的 URL 必须返回 JSON 数据,它不能返回 HTML。执行此操作后,自动完成对话框应该会自动生成。

        如果要自定义对话框,可以覆盖_renderMenu_renderItemjQuery UI website 上的组合框演示就是一个很好的例子

        如果您真的想在对话框中坚持使用div,则需要覆盖一些函数,因为ulli 的使用是硬编码的。如果你决定走这条路,不要覆盖 jQuery UI 文件,扩展它,否则你以后会有更新的噩梦。请参阅Scott González's autocomplete html extension 以开始使用。一旦你知道如何扩展它,你需要挖掘jquery.ui.autocomplete.js 并寻找jQuery UI Menu 小部件,根据你的修改,你需要覆盖refreshmovefirstlast 函数。

        如果您只想将您选择的内容显示到div 中,则需要使用select 方法,该方法在对话框中的元素被选中时触发。

        希望这能帮助您入门。

        【讨论】:

          猜你喜欢
          • 2012-12-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-07-10
          相关资源
          最近更新 更多