2017-12-04 3 views
0

Ich rufe eine API, die ein JSON-Objekt zurückgibt. Basierend auf einigen Bedingungen erhalte ich Werte von diesem Json-Objekt und zeige sie in einer Tabelle an, die mit angularem JS wiederholt werden kann. Jetzt muss ich Daten von jeder Tabelle bekommen, aber ich weiß nicht, wie einige Daten gefiltert werden. Im Folgenden finden Sie die Tabelle:Werte von spezifischen tr in Tabelle erhalten wiederholt durch angular JS mit Filtern

<table class="table">  
      <thead> 
      <tr> 
       <th>Relation 
       </th> 
       <th>Date Of Birth 
       </th> 
       <th >In Hospital 
       </th> 
       <th >AMB & PM 
       </th>    
       <th > Total 
       </th>     
      </tr> 
     </thead> 

     <tr ng-repeat="member in CalculatorResponse">   
      <td> 
       {{member.Relation}}           
      </td> 
      <td>{{member.dateOfBirth}} 
      </td> 
      <td> 
       <span ng-repeat=" InHosp in member.InHospital | filter:{strClassName: class.className}"> 
        {{InHosp.intClassValue}} 
       </span> 

      </td> 
      <td > 
       <span ng-repeat=" OutHosp in member.OutHospital | filter:{OptionType: Option_Select.type}"> 
        <span ng-model="AMBPMVal" ng-repeat=" Benefits in OutHosp.Benefits | filter:{intExcess: CoBenefitsSelect.type}"> 
          {{Benefits.intAMBPM}} 
        </span> 
       </span>                     
      </td>  
      <td> Total value (unable to calculate it) {{InHosp.intClassValue}} + {{Benefits.intAMBPM}} 
     </td>  
    </tr> 
</table> 

<input type="button" value="Generate" ng-click="Generate()"/> 

So ist das Hauptproblem ist, dass ich alle Werte der Tabelle zu erhalten, wenn ich versuche generieren Schaltfläche geklickt wird, aber ich kann die gefilterten Werte nicht erhalten;

  1. Ich tat dies, aber es funktioniert nicht:

    <span ng-repeat=" OutHosp in (filteredHosp = (member.OutHospital | filter:{OptionType: Option_Select.type}))"> 
        <span ng-repeat=" Benefits in (filteredBenefits = (OutHosp.Benefits | filter:{intExcess: CoBenefitsSelect.type}))"> {{Benefits.intAMBPM}} </span> 
        <%--{{filteredBenefits[0].intAMBPM}}--%> </span> <%--{{filteredHosp[0].Benefits}}--%> 
    

-> gefiltert Vorteile und filteredHosp nur im kommentierten Bereich zugegriffen werden kann, wenn man sie außerhalb der 2 Spannweiten setzen Du wirst nichts bekommen.

  1. ich auch bin auch versuchen, die insgesamt im Krankenhaus und AMB & M zu berechnen, aber ich kann nicht, wie ich weiß nicht, wie ihre Werte nach Filter zu erhalten.

Irgendwelche Vorschläge?

Antwort

2

Sie sind nicht verfügbar, nicht wegen des Filters, aber weil sie außerhalb des Geltungsbereiches von ng-repeat liegen. Sie können Ihre Berechnungen entweder in ng-repeat ausführen oder iterieren und Berechnungen in Ihrem Controller durchführen.

+0

Sie meinen damit die Summe aus dem Controller zu berechnen und es wie {{member.dateOfBirth}} so anzuzeigen -> {{member.Total}}? und was ist, wenn die Summe von den angezeigten Daten abhängt? Mit anderen Worten, wenn AMB & PM versteckt war, sollte Total nur im Krankenhaus sein. Ist das möglich ? –

+0

Und noch eine Frage: wenn ich {{member.Total}} jetzt Daten auf generieren click hinzufügen kann durch das jSoq-Array von CalculatorResponse durchschleifen, richtig? –

+0

Sie sollten auch Ihre Daten im Controller filtern, wenn Sie Ihre Berechnungen durchführen – NTP

Verwandte Themen