Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 根据自动完成器输出显示不同的面板_Jquery_Jquery Ui - Fatal编程技术网

Jquery 根据自动完成器输出显示不同的面板

Jquery 根据自动完成器输出显示不同的面板,jquery,jquery-ui,Jquery,Jquery Ui,我有一个只包含jQuery自动完成文本字段的页面。 如果用户执行了搜索并从下拉列表中选择了一个项目,则自动完成器下会显示一个网格,其中包含所选项目的数据。 另一方面,如果找不到数据,则面板应平滑地显示在包含两个按钮和文本的自动完成器下 任何关于如何实现这一点的提示都将受到高度赞赏 最困难的部分是确定是否没有结果作为autocomplete结果集的一部分返回,但是没有。您没有提到您使用的是远程数据源还是本地数据源,或者您的数据是什么样子的,但是这应该让您知道该怎么做 将函数引用传递给源参数。在该函

我有一个只包含jQuery自动完成文本字段的页面。
如果用户执行了搜索并从下拉列表中选择了一个项目,则自动完成器下会显示一个网格,其中包含所选项目的数据。
另一方面,如果找不到数据,则面板应平滑地显示在包含两个按钮和文本的自动完成器下


任何关于如何实现这一点的提示都将受到高度赞赏

最困难的部分是确定是否没有结果作为autocomplete结果集的一部分返回,但是没有。您没有提到您使用的是远程数据源还是本地数据源,或者您的数据是什么样子的,但是这应该让您知道该怎么做

  • 将函数引用传递给
    参数。在该函数中,如果没有返回结果,则执行一些特殊操作。或者,您可以在自定义事件处理程序中编写如下代码,如上面的答案所述:

    source: function(request, response) {
        var result = $.ui.autocomplete.filter(src, request.term);
        if (!result.length) {
            $("#container")
                .hide()
                .html("<strong>" + request.term + "</strong> Not Found.")
                .fadeIn(3000);
    
        }
        response(result);
    },
    
    本例仅假设在自动完成中的每个可用项上都有一个名为
    info
    的属性,并绘制一个简单的表

  • 示例:


    注意事项:

    • 虽然这不是直观的,但实际上,您可以在每个自动完成响应项中拥有任何想要的属性。您可以使用
      ui.item.propertyName
      在事件处理程序中按名称访问这些属性
    • 如果要添加大量内容,我可能建议使用某种客户端模板,例如
    • 您可以使用
      fadeIn
      show
      animate
      平滑地附加内容

    请检查我的代码好吗?我的所有面板都没有显示或隐藏。@4bu3li:只需快速浏览一下就可以了,但我不知道返回的数据是什么样子……找到的数据样本:[{“value”:“Owner 11”}],没有找到的数据样本是[]
    select: function(event, ui) {
        $("#container")
            .hide()
            .html("<table><tr><td>" + ui.item.value + "</td><td><a href='" + ui.item.info + "'>" + ui.item.info + "</a></td></tr></table>")
            .fadeIn(3000);
    }