Jquery自动完成关闭功能

问题描述:

我有一个Jquery自动完成菜单,底部有一个图像 - 添加了下面的代码。Jquery自动完成关闭功能

在点击图片后,有没有办法让jquery自动完成菜单关闭(消失)?

谢谢你的帮助。

<script> 
$(function() { 
     var availableTags = [ 
     "new york, ny", 
     "new york city, ny", 
     "manhattan, ny", 
     "queens, ny", 
     "*lyn, 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> 

在点击事件中,请致电$("#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”)'实际上并没有关闭任何东西。 – 2012-02-19 01:40:30

+0

@AndrewShepherd不,我没有。 – alex 2012-02-19 01:42:43

+0

这是一个jsfiddle的例子:http://jsfiddle.net/ZqGYq/ – 2012-02-19 01:44:09

我是这样做的:

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


$(function() { 
     var availableTags = [ 
     "new york, ny", 
     "new york city, ny", 
     "manhattan, ny", 
     "queens, ny", 
     "*lyn, 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); 
      }, 
    }); 
}); 



​