当我点击一个按钮并通过以下方式获取所选的学校课程时:
$scope.selectedSchoolclasses[0]
然后只有学校班级schoolclassNumber
喜欢" 7a"但不是Id属性。
为什么?绑定的schoolclasses数组及其项具有Id和schoolclassNumber属性。
控制器
$scope.schoolclasses = schoolclasses;
$scope.selectedSchoolclasses = [];
HTML
<div class="col-sm-8">
<select size="5" class="form-control control-label col-sm-6" multiple ng-model="selectedSchoolclasses">
<option class="co-sm-6" ng-repeat="s in schoolclasses">
{{s.schoolclassNumber}}
</option>
</select>
</div>
答案 0 :(得分:1)
为了能够存储对象的实例,您需要使用ng-options:
<select size="5"
class="form-control control-label col-sm-6"
multiple
ng-model="selectedSchoolclasses"
ng-options="s.schoolclassNumber for s in schoolclasses">
</select>
在许多情况下,可以在
<option>
元素而不是ngOptions上使用ngRepeat来实现类似的结果。但是,ngOptions提供了一些好处,例如通过不为每个重复实例创建新范围来减少内存和提高速度,以及通过select选择为<select>
模型分配方式提供更大的灵活性。理解表达的一部分。当<select>
模型需要绑定到非字符串值时,应使用 ngOptions。这是因为选项元素目前只能绑定到字符串值。
(强调我的)