【问题标题】:Getting values of specific tr in table repeated through angular JS using filters使用过滤器通过角度JS重复获取表中特定tr的值
【发布时间】:2017-12-04 14:06:18
【问题描述】:

我正在调用一个 API,它将返回一个 json 对象。基于某些条件,我从这个 Json 对象中获取值并将它们显示在可以使用 Angular JS 重复的表中。现在我需要获取每个表的数据,但我不知道如何过滤某些数据。下表是:

    <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()"/> 

所以主要问题是我在点击生成按钮时试图获取表的所有值,但我无法获取过滤后的值;

  1. 我这样做了,但它不起作用:

    <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}}--%>
    

-->过滤的好处和过滤的Hosp只能在评论区域访问,如果您将它们放在2个跨度之外,您将一无所获。

  1. 我也在尝试计算 In Hospital 和 AMB&M 的总数,但我不能,因为我不知道如何在过滤后获得它们的值。

有什么建议吗?

【问题讨论】:

    标签: angularjs json angularjs-ng-repeat angularjs-filter


    【解决方案1】:

    它们不可用,不是因为过滤器,而是因为它们超出了 ng-repeat 的范围。您可以在 ng-repeat 中进行计算,也可以遍历列表并在控制器中进行计算。

    【讨论】:

    • 您的意思是从控制器计算总数并将其显示为 {{member.dateOfBirth}} 所以 -> {{member.Total}} ?如果总数取决于显示的数据怎么办?换句话说,如果 AMB 和 PM 被隐藏,总数应该只在医院。这可能吗?
    • 还有一个问题:如果我添加 {{member.Total}} 现在可以通过循环访问 CalculatorResponse 的 json 数组来访问生成点击数据,对吗?
    • 您还应该在进行计算时过滤控制器中的数据
    • 由于我不知道您的生成功能的内容,我无法对此发表评论,但如果您将您的生成功能添加到您的问题中,我相信我们可以解决问题。
    • 我会在完成后恢复,但现在感谢您的帮助。
    猜你喜欢
    • 2018-10-01
    • 2018-06-16
    • 1970-01-01
    • 1970-01-01
    • 2020-08-21
    • 2018-06-24
    • 1970-01-01
    • 2019-06-05
    相关资源
    最近更新 更多