繁体   English   中英

如何在ng-option中设置预选值?

[英]How to set preselected value in ng-option?

我有应该在下拉列表中选择的城市的ID,但是我无法对其进行预选。 我应该从指令中选择它还是有其他方法?

<select  ng-model="cityId" ng-options="city.name for city in cities"></select>

为此,您需要使用select as一部分,前提是id是您要执行的城市对象的相应属性:

ng-options="city.id as city.name for city in cities"

否则,您需要提供与ng-model相同的对象引用(数组中的城市对象)(如果不使用track-by )。

使用track-by您可以执行以下操作:

ng-options="city.name for city in cities track by city.id"

并将模型设置为:

$scope.cityId = {id:'CITY1'};

使用track by时,您不必担心对象引用,它实际上将具有反映确切ID的选项的value属性(与select as ,它使内部映射具有索引)。 这在进行表单发布时很有用。 但您应注意不要将它与select as混合使用select as因为两者的目的是不同的,并且实现会相互冲突。

将您的ng-options编辑为:

city.id as city.name for city in cities

如果您获取城市但不知道ID,则可以在javascript成功函数(返回城市)中说:

$scope.cityId = the_cities[0].ID

要将第一个设置为选中的Else,您可以说:

$scope.cityId = 1; //or anything that exists

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM