更新ng-options时,Angularjs <select>不调整高度

时间:2016-01-03 10:11:45

标签: javascript html angularjs html-select

我试图动态加载数据(即ng-options)以便在ng-click下拉时遇到这个问题。 因此,基本上当页面加载时,我在页面加载时可以使用ng-model,并将其添加到&lt; select&gt;中的ng-options,这是页面加载时唯一可用的ng-option。然后在&lt; select ng-click =&#34; updateNgOptions()&#34;我必须进行api调用并重新填充ng-options。 我的问题是,当重新填充ng-options时,&lt; select&gt;高度不增加。我必须点击&lt; select&gt;然后再次点击&lt; select&gt;高度正确显示。 见下图: 当我第一次点击时,ng-options改变但dd没有调整大小 当我向外聚焦并再次点击下拉时,它会重新调整大小

2 个答案:

答案 0 :(得分:1)

这来自浏览器引擎呈现html的不同方式。这是一个similar thread,在角度的上下文之外。它仅适用于Firefox,对于Chrome,您需要关闭并打开ddl,IE会自动关闭ddl。

我创建了一个angular example,您可以亲自试用。逻辑在单独的指令中提取,以提高可读性。

<custom-ddl ng-model="selected" options="ddlOptions" more-options-callback="getMoreOptions"></custom-ddl>

答案 1 :(得分:0)

只需添加以下代码:

$timeout(function() {
                    $(event.target).css({height: 'auto'});
                });

updateNgOptions函数中。