2016-04-11 12 views
0

Ich habe ein Dropdown und ich möchte einen Wert basierend auf der Dropdown-Auswahl in Angular anzeigen. Ich verwende ng-Optionen und eine einfache Datenbindung sollte funktionieren, aber die Datenbindung wird nicht angezeigt. Hier ist ein Plunker: http://plnkr.co/edit/IptAt3e5EZi15OObfWFr?p=previewDatenbindung mit ng-Option Drop-down in Angular

 <select ng-model="defcom" 
     ng-options="opt.DefCom as opt.DefCom for opt in acct_info | filter:{Req:'MUST'}:true" > 
     </select> 
     <select ng-model="defcust" 
     ng-options="opt.Customer as opt.Customer for opt in cust_info | filter: {Com: defcom}: true"> 
     </select> 
     <p>{{ cust_info.Name }}</p> 

in der Steuerung:

$scope.cust_info = [ 
     { 
     "Customer": "1", 
     "Com": "1", 
     "Name": "First Name" 
     }, 
     { 
     "Customer": "2", 
     "Com": "1", 
     "Name": "Second Name" 
     }, 
     { 
     "Customer": "3", 
     "Com": "4", 
     "Name": "Third Name" 
     }]; 

Antwort

0

In dieser Zeile:

{{cust_info.Name}}

Sie versuchen Name falsch zu verweisen, haben Sie eine Reihe von Objekten welche jeweils Name haben, deshalb wird das nicht funktionieren.

Ändern Sie es an:

{{cust_info[defcust - 1].Name}}

-1, weil "Kunde" beginnt bei 1 und nicht 0

und Sie werden die n-te Index innerhalb cust_info, wo die n-te Index ausgewählt wurde erhalten, indem der Benutzer und in defcust gespeichert.

http://plnkr.co/edit/WHkijq8ea0ATnO4JXnc9?p=preview

+0

Der andere Benutzer hat Recht, wenn es nach Index ist, braucht es eine -1. Was ist, wenn ich nicht nach dem Index, sondern nach der gewählten Option auswählen möchte? Wie hier: http://plnkr.co/edit/8rfBM4Lz8C1jSQCoPAmL?p=preview – jenryb

0

{{cust_info [defcust-1] .Name}} sollte Ohne Verwendung des Index

0

erwartet funktionieren ein wenig mehr Javascript erreichen dort denke, das muss ich .. ich habe einige hinzugefügt. Hoffe, das hilft .. Sehen Sie diese Demo

<select ng-model="defcom" ng-change="change_acc(defcom)" 
    ng-options="opt.DefCom as opt.DefCom for opt in acct_info | filter:{Req:'MUST'}:true" > 
    </select> 
    <select ng-model="defcust" ng-change="change_cust(defcust)" 
    ng-options="opt.Customer as opt.Customer for opt in cust_info | filter: {Com: defcom}: true"> 
    </select> 

http://plnkr.co/edit/pf6PtOWANfLxulQupqZq?p=preview 
+0

Ich schaffte es, ohne den Index zu verwenden, aber dann verlor ich den Standard: http://stackoverflow.com/questions/36583813/ng -options-default-value-für-eckig-dropdown – jenryb