【发布时间】:2017-02-20 15:00:31
【问题描述】:
我看到有很多类似的问题,但我找不到任何需要我所拥有的东西:
- ngRepeat 在选项标签内
- 选择标签内的ngChange
我需要获取所选选项的索引。这是我的代码
<select data-placeholder="Choose" ng-model="pp.sif" name="myname" ng-change="onChangeSifra()">
<option ng-repeat="item in sif.what track by $index" value="{{item.SIF}}">
{{item.LABEL}}
</option>
</select>
ngClick inside option-tag 在 Chrome 和 IE 上不起作用,所以这不是一个选项。 ngOption(在 select-tag 中)而不是 ngRepeat(在 option-tag 中)不是一个选项,因为 sif.what 是一个对象数组;另外,这就是为什么我不能使用 indexOf 函数(ngModel 只有这个对象的一部分)。
有什么想法吗?
编辑: 由于你们中的很多人都告诉我切换到 ngOption,让我更清楚地说明为什么这不是一个选项。 我通过这样的方式迭代:
$scope.sif.what = [
{SIF: 1, LABEL: "label 1", SAVED: "save me 1"},
{SIF: 2, LABEL: "label 2", SAVED: "save me 2"},
{SIF: 3, LABEL: "label 3", SAVED: "save me 3"},
]
所以在组合框中我有“label”作为标签,“sif”作为值,ngModel 是“sif”的值,但在 ngChange 上我需要整个对象,sif.what(index) 或 $index。
谢谢。
【问题讨论】:
-
你试过
ng-change="onChangeSifra($index)"??? -
@SaurabhAgrawal 索引,就像项目一样,不在选择范围内,因为我在选项标签内有 ngRepeat,在选择标签内有 ngChange。
标签: javascript angularjs drop-down-menu