我正在调用一个API,并使用这个响应填充一个select下拉列表。我试图预先填充“请选择一个国家”下拉框,但是,由于这些国家是从api调用返回的,下面的选项无法工作,因为我猜$scope.countries.select
在这个阶段没有定义。
<select ng-init="countries.select" ng-model="country" ng-change="getRoles(country)" ng-options="key as value for (key , value) in countries"></select>
api调用返回的countries对象如下所示:
$scope.countries = {
AU:"Australia",
BE:"Belgium",
US:"United States"
}
然后我将以下内容推入其中
$scope.countries.select = "Please select a country";
由于countries.select
没有被定义为api响应仍然需要返回,所以我认为这是这个响应不起作用的原因。
发布于 2016-08-08 03:12:41
你没有正确地初始化国家的价值。因为js不知道什么是国家,所以您不能指定countries.select,因为国家是未定义的。首先将国家初始化为空object = {}。
但是,如果您只需显示列表中默认的选定选项,以阅读“请选择一个国家”,则可以这样做。
<select ng-model="country" ng-change="getRoles(country)" ng-options="key as value for (key , value) in countries">
<option value="">Please choose a country</option>
</select>
https://stackoverflow.com/questions/38827463
复制相似问题