Working with select using AngularJS's ng-options

前端 未结 8 851
渐次进展
渐次进展 2020-11-22 08:30

I have read about it in other posts, but I couldn\'t figure it out.

I have an array,

$scope.items = [
   {ID: \'000001\', Title: \'Chicago\'},
   {ID         


        
8条回答
  •  轻奢々
    轻奢々 (楼主)
    2020-11-22 09:07

    I'm learning AngularJS and was struggling with selection as well. I know this question is already answered, but I wanted to share some more code nevertheless.

    In my test I have two listboxes: car makes and car models. The models list is disabled until some make is selected. If selection in makes listbox is later reset (set to 'Select Make') then the models listbox becomes disabled again AND its selection is reset as well (to 'Select Model'). Makes are retrieved as a resource while models are just hard-coded.

    Makes JSON:

    [
    {"code": "0", "name": "Select Make"},
    {"code": "1", "name": "Acura"},
    {"code": "2", "name": "Audi"}
    ]
    

    services.js:

    angular.module('makeServices', ['ngResource']).
    factory('Make', function($resource){
        return $resource('makes.json', {}, {
            query: {method:'GET', isArray:true}
        });
    });
    

    HTML file:

    Make
    Model

    controllers.js:

    function MakeModelCtrl($scope)
    {
        $scope.makeNotSelected = true;
        $scope.make = {selected: "0"};
        $scope.makes = Make.query({}, function (makes) {
             $scope.make = {selected: makes[0].code};
        });
    
        $scope.makeChanged = function(selectedMakeCode) {
            $scope.makeNotSelected = !selectedMakeCode;
            if ($scope.makeNotSelected)
            {
                $scope.model = {selected: "0"};
            }
        };
    
        $scope.models = [
          {code:"0", name:"Select Model"},
          {code:"1", name:"Model1"},
          {code:"2", name:"Model2"}
        ];
        $scope.model = {selected: "0"};
    }
    

提交回复
热议问题