<select ng-model="item.value" ng-options="item.name for item in items">
</select>
以上将填充AngularJS中的选择选项,但如果满足条件,如何添加selected
?
我想做这样的事情:
<select ng-model="item.value" ng-options="item.name for item in items" if="item.name == someValueToCheckAgainst" selected endif>
</select>
显然以上是错误的,但我试图搜索这个以确定是否可以这样做。
这是项目
var items = [ 'a', 'b', 'c' ];
var someValueToCheckAgainst = 'b';
所以我的菜单应该是这样的
<select ng-model="item.value">
<option value="a">a</option>
<option value="b" selected>a</option>
<option value="c">a</option>
</select>
答案 0 :(得分:14)
刚想出来
<select ng-model="form.model">
<option ng-selected="{{item == valueToCheckAgainst}}"
ng-repeat="item in items"
value="{{item}}">
{{item}}
</option>
</select>
答案 1 :(得分:3)
对我来说,这句话毫无意义。
<select ng-model="item.value" ng-options="item.name for item in items"> </select>
ng-model是当前值(绑定模型)。如果你的项目是&#39;看起来像'{value,name}&#39;比你应该定义你的选择&#39;如
<select ng-model="someValueToCheckAgainst" ng-options="item.value as item.name for item in items"> </select>
答案 2 :(得分:1)
所选选项由ng-model属性的值定义。有关详细信息,请查看官方文档https://docs.angularjs.org/api/ng/directive/select。
答案 3 :(得分:1)
我建议对选择框使用 ng-option指令而不是ng-repeat,beacuse ng-option是专门为选择框创建的,并以最佳方式处理选项。我们如何设置在ng-option指令中选择的默认或条件选项值是使用 ng-init 指令,如下所示:
<select ng-model="item.value"
ng-options="item.name for item in items"
ng-init="condition ? item.value = items[opt index] : item.value = items[0]">
</select>