由ajax填充的ng-options仅显示IE中的第一个字母

Gra*_*amB 14 internet-explorer internet-explorer-9 angularjs

我在Angular遇到一个奇怪的问题,似乎只在Internet Explorer 9中.

如果你检查以下jsfiddle:http://jsfiddle.net/U3pVM/382/

您可以看到填充了2个选项,但IE中的显示似乎已损坏,并且仅选择了"Apple"的第一个字母"A".单击选择时将显示所有选项.

例如.

代码非常简单,我填充了驱动成功回调中的select的变量.

.success(function (data) {
    $scope.ReasonsChoice_ajax = data;
});
Run Code Online (Sandbox Code Playgroud)

选择的ng-options代码如下;

 <select ng-model="Reason" ng-options="Reason for Reason in ReasonsChoice_ajax"></select>
Run Code Online (Sandbox Code Playgroud)

我注意到如果我使用单个选择元素就不会发生故障,只有当我在ng-repeat中显示多个选择时才会出现问题.

Lev*_*sen 11

你正在使用Angularjs所以答案是这样的:

<select ng-style="{'width': '100%'}"></select>
Run Code Online (Sandbox Code Playgroud)

请注意,您不必将宽度设置为100%.你可以改用px.

  • 不幸的是,这并没有解决手头的问题. (2认同)

dnc*_*253 8

请参阅<select>仅显示所选选项的第一个字符

我们遇到了同样的问题,以及下面的内容让我们围绕它.

$("select").css("width", $("select").css("width"));
Run Code Online (Sandbox Code Playgroud)

当然,我们所有的选择都是相同的宽度.您可能需要优化选择器以满足您的需求.基本上你只需要迫使IE以某种方式重新绘制选择.更新了小提琴.