我的范围内有一个客户对象,其中包含国家/地区和州(作为ID)。 某些国家/地区要求用户选择州。因此,如果选择了其中一个国家/地区,则会将状态加载到对象中,并显示状态下拉列表。
<select ng-model="customer.country" ng-init="getStatesContentData(customer.country)"
ng-change="getStatesContentData(customer.country)" ng-options="country.isocode as country.name for country in countries" required>
<select ng-model="customer.state" ng-options="state.id as state.name for state in states[customer.country]">
getStatesContentData(country)
执行ajax请求并将状态置于$scope.states[country]
现在问题是,如果我将网站作为登录用户加载(=在我的客户对象中具有给定状态),则会显示默认选项,而不是显示id的状态。
以下hack提供了一个解决方案。此代码在$scope.states[country]
填充后执行。
if($scope.customer.state){
$scope.customer.state++;
$scope.customer.state--;
}
有更好的方法吗?
答案 0 :(得分:0)
是的,试试这个
if($scope.customer.state){
//$scope.customer.state++;
//$scope.customer.state--;
$scope.getStatesContentData($scope.customer.state)
}