Я создал два раскрывающихся списка с использованием тега select, и я хотел бы, чтобы значения второго раскрывающегося списка обновлялись на основе первого раскрывающегося списка и на основе второго раскрывающегося списка, значения обновления под ним ,AngularJS - обновление просмотра страницы при выборе смены выпадающего списка
Я слышал, что могу использовать $ apply, но у меня нет идеи, куда его поместить и как его использовать. Я бы оценил любое предложение, что я должен изменить, чтобы это работало.
Это мои файлы.
angular.module('app', []).controller('contr', function ($scope) {
$scope.data = [
\t \t {
\t \t name: 'Ala',
\t \t holiday: [
{ month: 'June', location: ['Rome', 'Wien'] },
{ month: 'July', location: ['Budapest', 'Bucharest'] },
{ month: 'August', location: ['Warsaw', 'Prague']}
\t \t ]
\t \t },
\t \t {
\t \t name: 'Bob',
\t \t holiday: [
{ month: 'January', location: ['Paris', 'Madrid'] },
{ month: 'February', location: ['London', 'Dublin'] },
\t \t ]
\t \t }
];
$scope.person = $scope.data[0];
$scope.holidays = $scope.person.holiday;
$scope.holiday = $scope.holidays[0];
$scope.locations = $scope.holiday.location;
});
<!doctype html>
<html ng-app='app' ng-controller='contr'>
<body>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<script src="js/myApp.js"></script>
<script src="js/angular.js"></script>
Person:<select ng-model='person' ng-options='info as info.name for info in data'></select></br>
Month:<select ng-model='holiday' ng-options='holiday as holiday.month for holiday in holidays'></select></br>
\t </br>Places:</br>
<div ng-repeat='location in locations'>Location: {{location}}</div>
</body>
</html>
Работает хорошо, но если я хочу, чтобы второе значение выпадающего значения по умолчанию было установлено на первый вариант, а не на пустое значение, тогда нужны часы? –
№ Вы можете использовать событие ng-change. Использование часов не является хорошим методом – Nitheesh
@AdamKorzeniak Я также включил это, обновил код – Nitheesh