关闭自动填充功能

时间:2013-05-13 04:07:43

标签: javascript jquery ajax

无法解决我在这里做错了什么。如果搜索字段中没有任何内容或点击网站的任何区域,我希望自动完成div关闭,类似于onblur。相反,div保持存在。这是我的代码:

$(document).ready(function(){

$(".search").keyup(function() 
{
var searchbox = $(this).val();
var dataString = 'searchword='+ searchbox;

if(searchbox=='')
{
}
else
{

$.ajax({
type: "POST",
url: "search.php",
data: dataString,
cache: false,
success: function(html)
{

$("#display").html(html).show();


    }

});
}return false;    

});
});

“显示”是我的自动完成div。

1 个答案:

答案 0 :(得分:0)

试试这个 -

  

see demonstration

var handler = function(event){    // to hide "#display" on elsewhere click
if($(event.target).not("#display *") || $(".search").val().length != 0) return;    
    $("#display").hide();
}

$(document).on("click", handler);

上面的处理程序,当隐藏在其他地方时隐藏display div。如果在display内单击,则不会隐藏。

并且

$(".search").keyup(function(){
     var searchbox = $(this).val();
     if(searchbox.length === 0)  // if field is blank hide div again.
           $("#result").hide();
....  // remaining code ----