14

Angular で奇妙な問題が発生していますが、Internet Explorer 9 だけのようです。

次の jsfiddle を確認した場合: http://jsfiddle.net/U3pVM/382/

2 つの選択が取り込まれていることがわかりますが、IE の表示は壊れているようで、「Apple」の最初の文字「A」だけが選択されています。選択をクリックすると、すべてのオプションが表示されます。

例えば.

コードは非常に単純です。成功のコールバックで選択を駆動する変数を入力します。

.success(function (data) {
    $scope.ReasonsChoice_ajax = data;
});

select の ng-options コードは次のとおりです。

 <select ng-model="Reason" ng-options="Reason for Reason in ReasonsChoice_ajax"></select>

問題が発生するのは、ng-repeat で複数の選択を表示する場合のみです。

4

6 に答える 6

8

<select> は、選択したオプションの最初の文字のみを表示するを参照してください

私たちは同じ問題を抱えていましたが、以下のようなもので回避できました。

$("select").css("width", $("select").css("width"));

もちろん、すべての選択は同じ幅です。ニーズに合わせてセレクターを調整する必要がある場合があります。基本的に、IEに何らかの方法で選択を再描画させるだけです。フィドルを更新しました。

于 2013-03-25T17:44:35.743 に答える
3

IE 9 で同じ問題が発生しました。回避策は、ajax データが利用可能になった後にのみ選択を表示することです。AngularJs での簡単な解決策は、select にフォローを追加することです: ng-show="ReasonsChoice_ajax.length > 0"。

<select ng-model="Reason" ng-show="ReasonsChoice_ajax.length > 0" ng-options="Reason for Reason in ReasonsChoice_ajax"></select>
于 2014-04-16T08:33:50.227 に答える
1

同様の投稿で提案されているように「ng-show」ではなく、これらのどちらも私にとってはうまくいきませんでしたが、スパン要素の周りの「ng-if」はうまくいったようです。

于 2015-12-18T08:05:46.950 に答える
0

奇妙ですが、幸いなことに、これが選択タグを再度トリガーしたいものです。

ng-show="List.length > 0"
于 2016-02-05T16:28:18.000 に答える