我有一个场景,其中下拉列表中包含许多字母的数据,因此我的第一个操作是将下拉列表的宽度设置为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上工作,因此answer on infragistics forum不适用。 最诚挚的问候