在 ui-select - Angularjs 中获取 selected 选择的索引

Get index of selected choice in ui-select - Angularjs

我使用 angularjsui-select (https://github.com/angular-ui/ui-select/)

我有这个代码:

<ui-select tagging="addTagging" tagging-tokens="ENTER" ng-change="sourceChanged()" ng-model="sender" theme="bootstrap" sortable="true" ng-disabled="disabled">
    <ui-select-match>{{$select.selected.name}}</ui-select-match>
    <ui-select-choices data-id="$index" repeat="item.name as item in places | filter:$select.search">
        {{item.name}}
    </ui-select-choices>
</ui-select>

sourceChanged 函数中,我想知道所选项目的索引。现在我只有值 (scope.sender)..
我可以在 places 数组中搜索值,但这对我来说不够好,因为有可能会有多个项目具有相同的值...

有什么想法吗?

谢谢:)

你有错误的重复表达式。

<ui-select-choices data-id="$index" repeat="item.name as item in places | filter:$select.search">
        {{item.name}}
    </ui-select-choices>

你在告诉ui-select,迭代trought地方并绑定item.name inside model,将其更改为

<ui-select-choices data-id="$index" repeat="item in places | filter:$select.search">
        {{item.name}}
    </ui-select-choices>

它将完整的项目对象绑定到 ngModel ,因此您拥有来自多个位置的原始项目。