使用ajax加载选项选择值

时间:2016-12-15 11:51:40

标签: angularjs ajax

我的范围内有一个客户对象,其中包含国家/地区和州(作为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--;
}

有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

是的,试试这个

if($scope.customer.state){
    //$scope.customer.state++;
    //$scope.customer.state--;
    $scope.getStatesContentData($scope.customer.state)
 }