2012-12-06 225 views
0

我想'弹出'jquery自动完成结果下使用启动弹出组件的文本框。自动完成响应

我在隐藏的div(#wrapper)中呈现自动完成查询的结果,并且我希望在渲染完成时设置我的popover的内容并显示它。

为此,我重载了_renderItem函数,该函数在隐藏容器(#wrapper)中附加了我的结果'div。

我以为0123R函数被调用_renderItem调用完成后,但我失去了一些东西作为响应函数永远不会被调用。

任何解决方案?

谢谢!

$("#bookSearch") 
      .autocomplete({ 
       minLength: 0, 
       source: '/Autocomplete/Books', 
       focus: function (event, ui) { 
        $("#bookSearch").val(ui.item.label); 
        return false; 
       }, 
       search: function(event, ui) { 
        $('#wrapper').empty(); 
       }, 
       response: function (event, ui) { 
        $('#bookSearch').popover('destroy'); 
        $('#bookSearch').popover({ 
          html: true, 
          placement: 'bottom', 
          content: $('#wrapper').html() 
        }); 
        $('#bookSearch').popover('show'); 
       } 

      }) 
      .data("autocomplete")._renderItem = function (ul, item) { 
       $('<div class="media"></div>')        
            .data("item.autocomplete", item) 
            .append("<a class=\"pull-left\" href=\"#\"><img class=\"media-object\" src=\"" 
            + item.ImgUrl 
            + "\"></a><div class=\"media-body\"><h6 class=\"media-heading\">" 
            + item.Name 
            + "</h6>" 
            + item.Author + "</div>").appendTo('#wrapper'); 


      }; 
+1

有你使用jQuery UI的.autocomplete一个很好的理由,当引导有自己的.typeahead? http://twitter.github.com/bootstrap/javascript.html#typeahead –

+1

1.9中增加了'response'。你用1.9吗?此外,响应主要用于在建议之前操作数据(如果我没有弄错,请在*'_renderItem之前*) –

+0

好的,首先我使用的是jQuery UI ui 1.8.20,我认为犹大声明我可以自定义引导类型头以做我想做的事。 –

回答

0

我加入到我的CSS文件的z-index样式的自动完成解决了这一问题。

.ui-autocomplete { 
    z-index: 10000; 
} 

记得设置为z-index更高的价值,如果它是必要的。只是为了记录我有这样的事情在HTML文件中

<div class="ui-widget"> 
    <label for="employee">Employee:</label> 
    <input id="employee" type="text" name="employee" /> 
</div>