web-dev-qa-db-fra.com

Angularjs ui-select dropdown on-select fonction call issue

Dans mon projet AngularJS, j'utilise une liste déroulante de sélection normale et j'effectue un appel de fonction en utilisant ng-change qui fonctionne parfaitement bien. Maintenant, je veux migrer la même liste déroulante vers ui-select. Mais l'appel de fonction sur sélection ne fonctionne pas, j'ai essayé différentes manières mais pas de chance. Veuillez trouver mon plnkr

Voici les deux façons dont j'ai essayé avec 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>
19
Madasu K

Qu'est-ce que vous comprenez de votre code, vous voulez que l'élément soit sélectionné et faire quelque chose en fonction de la sélection, si oui? alors voyez ça

Ajoutez on-select="onSelected($item)" à votre ui-select et dans le contrôleur:

$scope.onSelected = function (selectedItem) {
  //do selectedItem.PropertyName like selectedItem.Name or selectedItem.Key 
  //whatever property your list has.
}
54
Sunil Vurity