隐藏结果jquery自动完成列表

时间:2015-02-10 09:36:46

标签: jquery-ui autocomplete response

我正在使用jQuery UI自动完成功能搜索并通过ajax返回一些值。目前我正在使用它:

            $(".myautocomplete").autocomplete(
            {
                source: "myajaxSourceAsJson",
                minLength: 1,
                delay: 500,
                response: function( event, ui ) {
                    // Do something with the response data
                }

            }); 

我的JSON-Object不仅包含“value”和“label”,还包含一些其他对象,我在自动完成的响应中使用它们。现在我仍然在html输入字段下面看到自动完成列表,我只想隐藏它,因为在这种情况下我没有。我知道我也可以使用“普通”ajax请求和键事件创建相同的功能,但我需要自动完成的最小长度和延迟功能。是否有可能将结果列表隐藏在输入字段下方?我试过“display:none;”对于某些自动完成类,但它很可能被自动完成本身覆盖。

我也试过

.ui-autocomplete {height:0px; overflow-y:scroll; overflow-x:hidden;}

但是每当有人在场内触发搜索时,就会看到一小块白色像素。

1 个答案:

答案 0 :(得分:0)

  

现在我仍然在html输入字段下面看到自动完成列表,   我只想躲起来,因为在这种情况下我不喜欢它。

我不确定我是否完全理解您的问题...如果您只想隐藏它,为什么还要自动完成功能呢?

但我可以建议使用匿名函数为自动完成创建数据..

$(".myautocomplete").autocomplete(
            {
                source: function(request, response){ 
                // do some data manipulation here... 
                // perhaps return an empty list...
                },
                minLength: 1,
                delay: 500,
                response: function( event, ui ) {
                    // Do something with the response data
                }

            });