2016-03-31 5 views
1

Was ich versuche zu tun ist sehr einfach. Ich möchte die Daten in meiner Tabelle filtern, indem Sie den Filterwert in ein Eingabefeld eingeben. Ich versuche, das Eingabefeld mit einem bestimmten Wert in der Tabelle zu verknüpfen. ng-Repeat Filter auf bestimmten Wert nicht funktioniert

Dies ist der Code für meine Eingabefelder:

<div class="form-group col-xs-6"> 
    <label>Sales Rep</label> 
    <input type="text" class="form-control" ng-model="search.salesrep"> 
</div> 

Und das ist mein ng-repeat:

<tbody ng-repeat="target in arrayTargets | filter:search"> 
    <td class="salesRepTable"> {{target.salesrep}}</td> 
</tbody> 

Ich hoffe, euch kann mir helfen, ich weiß nicht, was ich m falsch machen.

Antwort

2

Ihr Eingabefeld bindet an search.salesrep, aber Ihr Filter bindet an search (was ein komplexes Objekt ist). Versuchen Sie folgendes: filter:search.salesrep

Auch werden Sie die ng-repeat auf tbody setzen, was bedeutet, dass Sie mehrere tbody Elemente haben. Sie beabsichtigen, wahrscheinlich mehrere td Elemente zu erzeugen, so setzen die ng-repeat auf dem td Element

+0

Nizza Antwort #fikkatra. Ich stimme zu. Eine Sache # Krist # von # Pauwels haben schön gemacht, verwendete Objektvariable. So wird lose gekoppelte Abstraktion auf Werte folgen. –

+0

Er verwendet die .Salesrep, um das Eingabefeld an search.salesrep zu binden, so wird es nicht die Eingabe verwenden, um andere Felder aus der Tabelle zu filtern –

0

Filter auf search.salesrep:

target in arrayTargets | filter:search.salesrep 
3

Es sollte:

<tbody> 
    <td class="salesRepTable" ng-repeat="target in arrayTargets | filter:search.salesrep">{{target.salesrep}}</td> 
</tbody> 
+0

Ich habe es versucht, aber es funktioniert immer noch nicht ... Meine Daten (arrayTargets) Ich komme aus einem $ http.get heraus, vielleicht hat es damit etwas zu tun. –

+0

Sie sollten den Controller auch veröffentlichen –