2012-12-20 61 views
1

我在我的项目中使用jQuery ui自动完成组合框。此小部件或插件位于页面的“粘滞页脚”处。这工作正常。由于自动完成组合框位于页脚上,所以当自动完成下拉菜单打开时,它将不在页面中。jQuery的ui自动完成组合框下拉位置

请看这张截图http://prntscr.com/mpa11

我想这个下拉菜单应该出现在输入字段而不是输入字段的底部之上。

有什么建议吗?

回答

3

那么没人回答,但我已经解决了这个问题。我刚刚在combobox的源文件中添加了position属性,并解决了这个问题。

    position: { 
         my: "left top", 
         at: "left bottom", 
         collision: "fit flip" 
        } 
1

完美,这对我有帮助。 只是为了使它更清楚一点,位置是一个自动完成的参数:

this.input = $("<input>") 
    .insertAfter(this.element) 
     .val(value) 
     .attr("title", "") 
     .addClass("custom-combobox-input") 
     .autocomplete({ 
      position:{ 
      collision:"fit flip" 
      }, 
     delay: 0, 
     minLength: 0, 
      select:function(event,ui){ 
      this.value = ui.item.value; 
      if(that.options.script){ 
         that.options.script(); 
        } 
      $(this).blur(); 
      },search:function(event,ui){ 
      if(event.originalEvent){ 
          if(that.options.script){ 
          that.options.script(); 
         } 
        } 
         }, 
     source: this.options.source?this.options.source:[] 
     }).focus(function(){ 
      $(this).autocomplete("search", ""); 
     }) 
     .tooltip({ 
     tooltipClass: "ui-state-highlight" 
     });