1

我有一个场景,其中下拉列表的数据有很多字母,所以我的第一个操作是将下拉列表的宽度设置为 250px。

在此之后,我意识到当下拉菜单显示时,浏览器上会出现一个水平滚动条。

所以我尝试改变下拉菜单的位置。我试过这段代码:

var data = [{name:"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"},{name:"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"},{name:"ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc"}];
    $("#combo").igCombo({
    dataSource:data,
    textKey:"name",
    valueKey:"name",
    width:"200px",
    dropDownWidth:"350px",
    dropDownOpened: function (evt, ui) {
        var container = $(ui.list[0]);
        var containerWidth = $(container).width();
      var comboWidth = $($($(ui.owner.element[0]).parent()).parent()).width();
      var dropDownLeft = comboWidth - containerWidth;
      $(ui.list[0]).css("left",dropDownLeft);
    }
  });

但是当下拉菜单打开时,移动到新位置,然后回到初始位置。我在jsfiddle上准备了一个示例

我想我缺少一些东西来保住这个职位。

了解我想要达到的目标。

这是打开时的下拉菜单: 在此处输入图像描述

这就是我想要实现的目标:

在此处输入图像描述

特别注意:我需要它在 Internet Explorer 上工作,所以基础设施论坛上的答案不适用。此致

4

0 回答 0