【发布时间】:2014-08-09 19:35:36
【问题描述】:
我有这个代码和信息:
$scope.options = [
{ id: 1, label: "My label" },
{ id: 2, label: "My label 2" }
];
$scope.selected = 2;
<select ng-options="opt.label for opt in options" ng-model="selected">
<option value="">Select one</option>
</select>
但是,选项是这样创建的:
<select ng-options="opt.label for opt in options" ng-model="selected">
<option value="">Select one</option>
<option value="0">My label</option>
<option value="1">My label 2</option>
</select>
如何将所选选项设置为我的标签 2?我知道可以做到:
$scope.selected = $scope.options[1];
但我的问题是该选项是在指令中创建的,当时我不知道 1)有多少值有 $scope.options,也不知道 2)数据库中所选选项的索引是什么。我唯一知道的是 id (在对象中)。
我的指令的 html 是这样的:
<select ng-switch-when="select" ng-model="form.model[element.model]" ng-options="{{element.rule}}"></select>
element.rule 在哪里:
rule: "role.role for role in element.options"
element.options 包含带有选项的数组,form.model[element.model] 包含所选选项的 id。
如何获取数组$scope.options中ID为X的元素的索引?我很确定这会给我解决方案,但我不知道该怎么做......
【问题讨论】:
标签: javascript angularjs ng-options angular-ngmodel