Первый проект, работающий с AngularJS, и я немного застрял, используя список выбора, чтобы либо установить значение по умолчанию для первого параметра для нового, либо если его редактирование выбирает стоимость.AngularJS - выберите, установите значения по умолчанию для Edit/New
У меня есть форму с двумя списками. Заметьте, я думаю, что я ошибаюсь в теге ng-options.
invite.tpl.html
<select ng-model="selectedUser" ng-options="user.id as user.user_name for user in users"></select>
<select ng-model="selectedEvent" ng-options="event.id as event.name for event in events"></select>
Контроллер, который получает/сообщений JSON.
invite.js
.controller('InviteCtrl', function InviteController($scope, InviteRes, $state, $stateParams) {
$scope.inviteId = parseInt($stateParams.inviteId, 10);
$scope.users = InviteRes.Users.query();
$scope.events = InviteRes.Events.query();
//EDIT (HAVE ID) - SET SELECTS TO THE USER/EVENT
if ($scope.inviteId) {
$scope.invite = InviteRes.Invites.get({id: $scope.inviteId});
$scope.selectedUser = $scope.invite.user_id;
$scope.selectedEvent = $scope.invite.event_id;
}
//NEW (NO ID) - SET DEFAULT OPTIONS TO FIRST USER/EVENT
else {
$scope.selectedUser = $scope.users[0];
$scope.selectedEvent = $scope.events[0];
$scope.invite = new InviteRes.Invites();
}
Функция сохранения.
$scope.submit = function() {
$scope.invite.user_id = $scope.selectedUser;
$scope.invite.event_id = $scope.selectedEvent;
//IF ID - UPDATE ELSE NEW
if ($scope.inviteId) {
$scope.invite.$update(function(response) {
$state.transitionTo('invites');
}, function(error) {
$scope.error = error.data;
});
}
else {
$scope.invite.$save(function(response) {
$state.transitionTo('invites');
}, function(error) {
$scope.error = error.data;
});
}
};
И получать эти ресурсы
.factory('InviteRes', function ($resource) {
return {
Invites: $resource("../invites/:id.json", {id:'@id'}, {'update': {method:'PUT'}, 'remove': {method: 'DELETE', headers: {'Content-Type': 'application/json'}}}),
Users: $resource('../users.json'),
Events: $resource('../events.json'),
};
})
Я посмотрел вокруг и нашел несколько статей, объясняющих, как это сделать, но все, что я попытался было либо дал мне проблемы, либо с установкой значений, или сохраняя форму.
Вау - большое вам спасибо, что исправил его - очень хорошо знать, что нужно идти вперед! – OHope
Без проблем! :-) – natwallbank