2012-02-19 3 views
2

У меня есть меню автозаполнения Jquery с изображением внизу - добавлено с кодом ниже.JQuery Autocomplete close function

Есть ли способ закрыть меню автозаполнения JQuery (исчезнуть) после того, как я нажму на картинку?

Благодарим за помощь.

<script> 
$(function() { 
     var availableTags = [ 
     "new york, ny", 
     "new york city, ny", 
     "manhattan, ny", 
     "queens, ny", 
     "brooklyn, ny", 
     "bronx, ny", 
     "staten island, ny", 
     "kings county, ny", 
     "richmond county, ny", 
     "big apple, ny" 
    ]; 
    $("#tags").autocomplete({ 
     source: availableTags, 
     open: function (event, ui) { 
        var nyc="<img src=\"images/iloveny.jpg\" onclick=\"DoGood()\"/>"; 
        $(this).autocomplete("widget").append(nyc); 
      }, 
    }); 
}); 
</script> 

ответ

2

В случае события click, звоните $("#tags").autocomplete("close");.

Вот как я бы это сделать ...

$("#tags").autocomplete({ 
    source: availableTags, 
    open: function(event, ui) { 

     var nyc = $("<img />", { 
      src: "http://www.gravatar.com/avatar/8a3efc8be996c87da020df31e2416151?s=32&d=identicon&r=PG", 
      alt: "" 
     }); 

     nyc.click(function() { 
      $(event.target).autocomplete("close"); 
     }); 

     $(this).autocomplete("widget").append(nyc); 
    } 
});​ 

jsFiddle.

+0

На самом деле, вы проверили это? Я пробовал это, и 'ui.autocomplete (« close »)' фактически ничего не закрывает. –

+0

@AndrewShepherd Нет, не знаю. – alex

+0

Вот пример jsfiddle: http://jsfiddle.net/ZqGYq/ –

0

Вот как я это сделал:

function closeAutocomplete() { 
    $("#tags").next().hide(); 
} 


$(function() { 
     var availableTags = [ 
     "new york, ny", 
     "new york city, ny", 
     "manhattan, ny", 
     "queens, ny", 
     "brooklyn, ny", 
     "bronx, ny", 
     "staten island, ny", 
     "kings county, ny", 
     "richmond county, ny", 
     "big apple, ny" 
    ]; 
    $("#tags").autocomplete({ 
     source: availableTags, 
     open: function (event, ui) { 
        var nyc="<img id=\"nycImage\" src=\"https://twimg0-a.akamaihd.net/profile_images/772597407/DCA_Twitter_normal.png\" />"; 

        $(this).autocomplete("widget").append(nyc); 
        $('#nycImage').click(closeAutocomplete); 
      }, 
    }); 
}); 



​