当我更改AngularJS中另一个选择选项的值时,如何更改选择选项值?

当我更改AngularJS中另一个选择选项的值时,如何更改选择选项值?

问题描述:

我在更改AngularJS中另一个选择选项的值时尝试更改选择选项值。当我在W3schools.com上试图做到这一点时,它的工作,但在我的发展,它不。我测试的工作代码是available herehttps://www.w3schools.com/code/tryit.asp?filename=FD084OYCQJ6U当我更改AngularJS中另一个选择选项的值时,如何更改选择选项值?

这是我的AngularJS JavaScript。
模式是这样的:

$scope.modelCountry = [ { ID : 1, Name : 'Philippines'}, { ID : 2, Name : 'United States'} ]; 
$scope.changeCountry = function (stateID) { 
    if (stateID == 1) { 
    //$scope.CountryName = "Philippines"; 
    return 'Philippines'; 
    } 
    else if (stateID > 1) { 
    //$scope.CountryName = "US United States"; 
    return 'United States'; 
    } 
} 

这是我的HTML:

<div class="col-md-12 padding-top-5px"><!--State--> 
    <div class="col-md-2"><span class="pull-right">State <b>*</b></span></div> 
    <div class="col-md-3"> 
    <select class="form-control" ng-model="selectedState" ng-options="state.Name for state in modelState" ng-change="selectedCountryName=changeCountry(selectedState.ID)"> 
     <option value="">Select State</option> 
    </select> 
    </div> 
</div><!-- End State--> 
<div class="col-md-12 padding-top-5px"><!--Location--> 
    <div class="col-md-2"><span class="pull-right">Country <b>*</b></span></div> 
    <div class="col-md-3"> 
    <select class="form-control" ng-model="selectedCountryName" ng-options="country.Name for country in modelCountry"> 
     <option value="">Select Country</option> 
    </select> 
    </div> 
</div><!-- End Location--> 
+1

@Saiyaff法鲁克:要知道,当你编辑的职位,而不是跳过线!我从审核队列中重新添加了它。 –

+0

我的不好。 @LouysPatriceBessette谢谢你。 –

我不知道你正在尝试做的,但双select正常使用情况下一个正在改变如下所示,当用户更改第一个select的选择时,第二个选项列表select

angular.module('test', []).controller('Test', Test); 
 

 
function Test($scope) { 
 
    $scope.types = [ 
 
    { id: 1, name: 'fruits' }, 
 
    { id: 2, name: 'vehicles' } 
 
    ] 
 
    
 
    var fruits = [ 
 
    { id: 1, name: 'apple' }, 
 
    { id: 2, name: 'banana' }, 
 
    { id: 3, name: 'orange' } 
 
    ] 
 
    
 
    var vehicles = [ 
 
    { id: 4, name: 'car' }, 
 
    { id: 5, name: 'bus' }, 
 
    { id: 6, name: 'lorry' } 
 
    ] 
 
    
 
    $scope.changeType = function() { 
 
    $scope.selectedItem = 0; 
 
    
 
    if ($scope.selectedType == 1) { 
 
     $scope.items = fruits; 
 
    } 
 
    else if ($scope.selectedType == 2) { 
 
     $scope.items = vehicles; 
 
    } 
 
    } 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js"></script> 
 

 
<div ng-app='test' ng-controller='Test'> 
 
    <select ng-model='selectedType' 
 
      ng-options='type.id as type.name for type in types' 
 
      ng-change='changeType()'> 
 
      
 
    <option value="">Select type</option>   
 
    </select> 
 
    
 
    <select ng-model='selectedItem' 
 
      ng-options='item.id as item.name for item in items'> 
 
      
 
     <option value="">Select item</option> 
 
    </select> 
 
</div>

+0

是的,它就像你做的一样,但具体。我试图做的就像当你选择'车辆'它应该改变选择'汽车',当选择水果时,它将改变为选择'仅苹果'。请帮助我仍然使用您的代码进行测试。我修改它,但不在这里工作https://www.w3schools.com/code/tryit.asp?filename=FDCX0H6WIEC8谢谢 –

+0

https://www.w3schools.com/code/tryit.asp?filename=FDD1G7707HLP 该代码使用'id'作为标识符,因此指定项目的'id'就可以了。 – Icycool

+0

A BIG谢谢!现在它正在工作。你拯救我的一天Icycool –