当我更改AngularJS中另一个选择选项的值时,如何更改选择选项值?
我在更改AngularJS中另一个选择选项的值时尝试更改选择选项值。当我在W3schools.com上试图做到这一点时,它的工作,但在我的发展,它不。我测试的工作代码是available here。 https://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-->
我不知道你正在尝试做的,但双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>
是的,它就像你做的一样,但具体。我试图做的就像当你选择'车辆'它应该改变选择'汽车',当选择水果时,它将改变为选择'仅苹果'。请帮助我仍然使用您的代码进行测试。我修改它,但不在这里工作https://www.w3schools.com/code/tryit.asp?filename=FDCX0H6WIEC8谢谢 –
https://www.w3schools.com/code/tryit.asp?filename=FDD1G7707HLP 该代码使用'id'作为标识符,因此指定项目的'id'就可以了。 – Icycool
A BIG谢谢!现在它正在工作。你拯救我的一天Icycool –
@Saiyaff法鲁克:要知道,当你编辑的职位,而不是跳过线!我从审核队列中重新添加了它。 –
我的不好。 @LouysPatriceBessette谢谢你。 –