Если вы посмотрите на исходный код вашего примера;
$(document).click(function(){
$('.ddcontainer > div > ol').hide();
});
Это скрывает элемент div, когда был нажат документ.
Дайте вам DIV идентификатор, например, так:
<div id="searchResults" style="height:95px;width:290px;overflow:scroll;overflow-x:hidden;margin: 2px 0 0 0;">
и затем:
$(document).click(function(){
$('#searchResults').hide();
});
В качестве альтернативы и, возможно, лучшим решением будет использование focus
и blur
:
$("#kwd_search").focus(function(){
$('#searchResults').show();
}).blur(function(){
$('#searchResults').hide();
});
Это покажет результаты, когда фокус помещен на вход, и удалит его, когда вы «оставите» вход.
UPDATE
С плагином автозаполнения вы можете выполнить задачу после того, как элемент был выбран следующим образом:
$( "#tags" ).autocomplete({
source: availableTags
}).bind( "autocompleteselect", function(event, ui) {
location.href = ui.item.value; // If the value of the item is a url, this will forward you to it
});