Używam kątowa v1.0.8IE10 z wykorzystaniem wybranych NG-opcji bez wartości domyślnej ustawionej w modelu zawsze wybiera pierwszy element w rozwijanym
mam wybrać i używam NG-options dyrektywy, aby wypełnić go z tablica danych zadeklarowana w moim kontrolerze.
kod HTML
<body ng-controller="SelectCtrl">
<select
ng-model="selected"
ng-options="o as o.caption for o in options" />
</body>
Fragment kodu
angular.module('app', [])
.controller('SelectCtrl', ['$scope', function($scope) {
$scope.options = [
{ key: 1, caption: '1' },
{ key: 2, caption: '2' },
{ key: 3, caption: '3' },
{ key: 4, caption: '4' },
{ key: 5, caption: '5' }
];
}]);
W Chrome, jeśli wybierzesz powiedzmy opcja 3
następnie, zgodnie z oczekiwaniami, to zostanie wybrany.
Jednak w IE10 po wybraniu opcji 3
zostanie wybrana opcja 1
.
(http://plnkr.co/edit/T9bbEW?p=preview)
Dzieje się tak tylko, gdy nie ma wybór domyślny ustawiony w sterowniku. Kolejne selekcje zrobione po usunięciu "pustego" wyboru zostaną poprawnie ustawione.
Podejrzewam, że może to być duplikat This issue, ale nie jestem do końca pewien. Nie zmieniam w sposób dynamiczny opcji, choć wydaje mi się, że być może Angular jest tak, ponieważ "pusty" wybór zostaje usunięty w obu przeglądarkach.
Jednak chcę tę funkcję. Nie chcę podawać wartości domyślnej dla tego wyboru, ponieważ użytkownik musi dokonać dla mnie aktywnego wyboru.
Czy ktoś zna obejście i/lub rozwiązanie tego problemu? Najlepiej taki, który nie ma nic wspólnego z opcjami przy użyciu JQuery ...
Obawiałem się, że będę musiał zrobić coś takiego. Dobrze wiedzieć, że nie tylko ja to robię :) – ivarni