Я создал скрипт js: Fiddle
Я создаю форму с некоторыми параметрами ng, и она ведет себя странно, когда вы используете кнопку вместо мыши (просто щелкните текстовое поле и нажмите «вкладку», и вы можете выбрать его с помощью клавиши со стрелкой).
<form ng-controller="MyApp" id="Apps" name="Apps" ng-submit="SendApp()" role="form" novalidate>
<input type="text" name="title" ng-model="Info.Title" />
<select id="Formula" ng-model ="Info.Genre" ng-change= "ChangeGenre()"
ng-options="id as name for (id, name) in Genre" blank></select>
<select class="form-control" ng-model ="Info.Program"
ng-options="Program as Name for (Program, Name) in Program" ng-change="ChangeProgram()" blank></select>
<h3>{{Info.Genre}}</h3>
<h3>{{Info.Program}}</h3>
<button type=submit>Submit this </button>
</form>
Javascript:
var theApp = angular.module("TheApp", []);
theApp.controller("MyApp", ['$scope', function($scope){
$scope.Program = {"1":"Music","2":"Theater","3":"Comedy"};
$scope.Genre = {"1":"Mystery", "2":"Thriller", "3":"Romance"};
$scope.ChangeProgram = function(){
alert($scope.Info.Program + " " + $scope.Info.Genre);
}
$scope.ChangeGenre = function (){
console.log($scope.Info.Genre);
}
$scope.SendApp = function(){
alert($scope.Info.Program + " " + $scope.Info.Genre);
}
}]);
Модель ng не обновляется, когда вы выбираете первые параметры при первой попытке.
Что не так и как это исправить?
Update:
Как упоминалось в комментарии ниже, чтобы воспроизвести, введите мышь в текстовое поле, вкладку в поле со списком и попробуйте выбрать второй вариант (Thriller) с помощью клавиатуры. Это не удастся с первой попытки, после выбора третьего или первого варианта второй вариант также распознается.
33.0.1750.154 m
и не нашел ничего неработающего. Какого поведения вы ожидаете, которого нет? - person Sonata   schedule 25.03.2014Thriller
) с помощью клавиатуры. Это не удастся с первой попытки, после выбора третьего или первого варианта второй вариант также распознается. Кажется, это давняя проблема: github.com/angular/angular.js/issues. /2616 github.com/angular/angular.js/issues/4303 github.com/angular/angular.js/issues/4216 - person Sonata   schedule 25.03.2014