2017-03-13 3 views
1

Ich habe diese Dropdownlist in meiner Vorlage:Wie benutze ich richtig ng-change auf angularjs dropdown element?

<div class="col-lg-5 col-md-5 col-sm-5 col-xs-5"> 
     <div class="input-group input-group-sm"> 
      <select class="form-control" 
        data-ng-options="o.name for o in list.itemsStatus" 
        data-ng-model="list.currentItemsStatus" 
        ng-change="list.getItems(o.id)"> 
      </select> 
     </div> 
    </div> 

Hier ist, wie itemsStatus in der Steuerung definiert:

this.itemsStatus = [{ name: "all", id: 1 }, { name: "new", id: 2 }, { name: "toUpdate", id: 3 }]; 

, wenn neue Artikel I diese Funktion Feuer ausgewählt ist:

function getItems(status) { 
     switch (status) { 
      case 1: 
       break; 
      case 2: 
       break; 
      case 3: 
       break; 
      default: 
     } 
    } 

Aber übergebener Parameter - status ist immer undefiniert.

Wie kann ich das ausgewählte Element als Parameter an getItems() übergeben?

Antwort

2

ng-change Ereignis kann nicht ng-options aktuellen Artikel als Wert übergeben.

Sie bereits in Ihrem ng-model ausgewählten Wert zu tun haben, so dass Sie Ihr Modell passieren können, die bereits o (aktuell ausgewählte Wert) hat

ng-change="list.getItems(list.currentItemsStatus.id)"