Невозможно установить выбранную опцию в раскрывающемся меню - PullRequest
0 голосов
/ 03 декабря 2018

Я не могу привязать выбранную опцию в выпадающем меню.Я не хочу весь объект $scope.Types внутри $scope.obj.Он должен иметь значение из $scope.Types внутри $scope.obj.type

var app = angular.module("myApp", []);
app.controller("MyController", function($scope) {
   $scope.types =
        [
            { label: "Pizza", value: 1 },
            { label: "Cakes", value: 2 },
            { label: "Pastry", value: 3 }
        ];
        
         $scope.obj = { type : 1 };//I want dropdown selected value to be updated in type variable
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<ul ng-app="myApp" ng-controller="MyController">
 <select name="status" ng-model="obj.value"
 ng-options="type.value as type.label for type in types track by type.value">
       <option value="">Select Types</option>
</select>
 </ul>

Я не понимаю, что не так, я делаю здесь.

Ответы [ 2 ]

0 голосов
/ 03 декабря 2018

 var app = angular.module("myApp", []);
app.controller("MyController", function($scope) {

   $scope.obj = {};
   $scope.types =
        [
            { label: "Pizza", value: 1 },
            { label: "Cakes", value: 2 },
            { label: "Pastry", value: 3 }
        ];
         
         $scope.obj.value = 2;
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<ul ng-app="myApp" ng-controller="MyController">
 <select name="status" ng-model="obj.value"
 ng-options="type.value as type.label for type in types">
       <option value="">Select Types</option>
</select>
 </ul>
0 голосов
/ 03 декабря 2018

Как это?

var app = angular.module("myApp", []);
app.controller("MyController", function($scope) {
   
   $scope.$watch('selectedValue', function(newValue, oldValue) {
        if (newValue){
            $scope.obj.type = newValue.value;
        }
   });
   $scope.types =
        [
            { label: "Pizza", value: 1 },
            { label: "Cakes", value: 2 },
            { label: "Pastry", value: 3 }
        ];
   $scope.obj = { type: 1 };
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<ul ng-app="myApp" ng-controller="MyController">
 <select name="status" ng-model="selectedValue"
 ng-options="type as type.label for type in types track by type.value">
       <option value="">Select Types</option>
</select>
{{ obj.type}}
 </ul>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...