19

在我的 AngularJS 项目中,我使用正常的选择下拉菜单并使用 ng-change 进行函数调用,这完全可以正常工作。现在我想将相同的下拉列表迁移到 ui-select。但是 on-select 函数调用不起作用,我尝试了不同的方法但没有运气。请找到我的plnkr

以下是我尝试使用 ui-select 的两种方法:

<ui-select ng-model="uiSelectedCustomer" theme="select2" on-select="getDataBasedonCustomer(uiSelectedCustomer)" style="min-width: 300px;">
    <ui-select-match placeholder="Select a customer..">{{$select.selected.name}}</ui-select-match>
    <ui-select-choices repeat="cust in customers | filter: $select.search">
        <div ng-bind-html="cust.name | highlight: $select.search"></div>
    </ui-select-choices>
</ui-select>


<ui-select ng-model="uiSelectedCustomer" theme="select2" on-select="getDataBasedonCustomer(uiSelectedCustomer)" style="min-width: 300px;">
    <match placeholder="Select a customer in the list or search his name ">{{$select.selected.name}}</match>
    <choices repeat="cust in customers | filter: $select.search">
        <div ng-bind-html="cust.name | highlight: $select.search"></div>
    </choices>
</ui-select>
4

1 回答 1

57

我从您的代码中了解到,您希望选择项目并根据选择执行某些操作,如果是这样,请添加on-select="onSelected($item)"到您的ui-select和控制器中:

$scope.onSelected = function (selectedItem) {
  // do selectedItem.PropertyName like selectedItem.Name or selectedItem.Key 
  // whatever property your list has.
}
于 2015-02-26T21:41:06.740 回答