【发布时间】:2018-01-25 16:27:34
【问题描述】:
我尝试为 Country State 和 City 创建一个下拉列表,我有 3 个单独的数组分别用于 Country、State 和 City。
我能够获取下拉列表中的元素,但问题是我无法使下拉列表依赖于前一个。
$scope.countrylist = [
{
Id: 1,
CountryName: "India",
}, {
Id: 2,
CountryName: "America"
}
];
$scope.statelist = [{
Id: 1,
StateName: "Maharashtra",
CountryId: 1
},
{
Id: 2,
StateName: "MadhyaPradesh",
CountryId: 1
}, {
Id: 3,
StateName: "Washington",
CountryId: 2
}
];
$scope.citylist = [{
Id: 1,
CityName: "Pune",
StateId: 1
},
{
Id: 2,
CityName: "Mumbai",
StateId: 1
},
{
Id: 3,
CityName: "Bhopal",
StateId: 2
}
];
<div class="row pb-4">
<div class="col-md-4">
<label for="Country">{{
'guardian.country' | translate}} :</label>
</div>
<div class="col-md-6">
<select class="form-control" id="country" name="country" ng-model="guardian.country" ng-options="country.CountryName as country.CountryName for country in countrylist track by country.CountryName" ng-change="getSelectedCountry()">
<option value=''>Select</option>
</select>
<label>{{strCountry}}</label>
</div>
</div>
<div class="row pb-4">
<div class="col-md-4">
<label for="State">{{'guardian.state' | translate}} :</label>
</div>
<div class="col-md-6">
<select class="form-control" required id="state" name="state" ng-disabled="!guardian.country" ng-model="guardian.state" ng-options="state.StateName as state.StateName for state in statelist track by state.StateName" ng-change="getSelectedState()">
<option value=''>Select</option>
</select>
<label>{{strState}}</label>
</div>
</div>
<div class="row pb-4">
<div class="col-md-4">
<label for="City">{{
'guardian.city' | translate}} :</label>
</div>
<div class="col-md-6">
<select class="form-control" id="city" name="city" ng-disabled="!guardian.country || !guardian.state" ng-model="guardian.city" ng-options="city.CityName as city.CityName for city in citylist track by city.CityName" ng-change="getSelectedCity()">
<option value=''>Select</option>
</select>
<label>{{strCity}}</label>
</div>
</div>
【问题讨论】:
-
我不想让任何人完成我的任务,我只想知道我哪里出错了。一些指导将不胜感激。
-
兄弟,请分享到目前为止您尝试使下拉依赖的代码。
标签: javascript html angularjs