2013-05-13 2 views
0

내가 여기서 잘못하고있는 것을 해결할 수 없습니다. 검색 필드에 아무것도 없거나 onblur와 비슷한 사이트의 특정 영역을 클릭하면 자동 완성 div가 닫히기를 원합니다. 대신 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

왜 JQuery와 자동 완성 HTTP를 시도하지 않습니다 //jqueryui.com/autocomplete을 ???? – Shin

+0

try alert (html); 어떤 결과가 나왔습니까? – Shin

답변

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 사업부와 다른 곳에서 cliked 때. display 안에 클릭하면 숨기지 않습니다.

그리고

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