在我的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>
答案 0 :(得分:53)
从您的代码中可以理解,您希望选择项目并根据选择执行某些操作,如果是这样的话?然后看这个
将on-select="onSelected($item)"
添加到ui-select
和控制器中:
$scope.onSelected = function (selectedItem) {
//do selectedItem.PropertyName like selectedItem.Name or selectedItem.Key
//whatever property your list has.
}