我有一个带有属性的模型(param):
我正在渲染多选下拉列表
<select multiple ng-model="param.DefaultValues">
<option ng-repeat="item in param.ValidValues" value="{{item.Value}}" label="{{item.Key}}"
ng-selected="???">
</option>
</select>
问题: 我如何(使用AngularJS标记语法)在此下拉列表中设置默认值(预选选项匹配param.DefaultValues中的任何内容)?使用ng-selected还是有其他选择?
例如:
如果ValidValues = [“one”,“two”,“three”,“four”] 和DefaultValues = [“两个”,“三个”]
然后应该预先选择“两个”,“三个”。有意义吗?请注意,我无法修改param.ValidValues集合。
答案 0 :(得分:2)
<div ng-controller="myCtrl as $ctrl">
<select multiple ng-model="$ctrl.selectedValues"
ng-options="o.value as o.title for o in $ctrl.languages">
<option value=""></option>
</select>
<br>
{{$ctrl.selectedValues}}
</div>
app.js文件
var app = angular.module('app', []);
app.controller('myCtrl', function ($scope) {
this.languages = [
{value: 'C#', title : 'C Sharp'},
{value: 'PHP', title : 'p h p'},
{value: 'Go', title : 'Go javascript'},
{value: 'ES6', title: 'javascript'},
{value: 'R', title: 'Rust'}
]
this.selectedValues = ["C#","Go","R"];
});
答案 1 :(得分:0)
试试这个 stackoverflow.com
<select multiple ng-model="param.DefaultValues" ng-init="param.DefaultValues = item[0]">
<option ng-repeat="item in param.ValidValues" value="{{item.Value}}" label="{{item.Key}}"
ng-selected="???">
</option>
</select>