【问题标题】:orderBy filter not working in ng-repeatorderBy 过滤器在 ng-repeat 中不起作用
【发布时间】:2016-02-24 00:33:50
【问题描述】:

我正在使用 orderby 过滤器对我的产品进行排序。但它无法正常工作。请帮助我找出问题所在。 json:

productSize :: [{"prodsize":"DOUBLE","sizerate":"181.00"},{"prodsize":"FAMILY","sizerate":"316.00"},{"prodsize":"SOLO ","sizerate":"79.00"}]

代码:

<div class="item" style="border: 0px; padding: 7px"
        ng-repeat="size in productSize  | orderBy:'sizerate'">
        <div class="row">
            <div class="col" style="margin-top: 20px">{{size.prodsize}}</div>
            <div class="col" style="text-align: right">
                Rs.{{size.sizerate}} <label class="checkbox" style="top: 16px"><input value="true"
                    name="size" type="radio" ng-model="sizeChecked" ng-change="addPropertiesToProduct('Size',size.prodsize,size.sizerate,sizeChecked)"></label>
            </div>
        </div>
    </div>

【问题讨论】:

    标签: angularjs angularjs-filter angularjs-orderby


    【解决方案1】:

    像这样改变你的json,

    [{"prodsize":"DOUBLE","sizerate":181.00},{"prodsize":"FAMILY","sizerate":316.00},{"prodsize":"SOLO","sizerate":79.00}]
    

    工作JSFiddle

    【讨论】:

      【解决方案2】:

      orderBy 过滤器正在工作。您的问题来自 sizerate 属性是字符串而不是数字,因此:

      "181.00" < "316.00" < "79.00"
      

      更正你的数据结构以获得你想要的结果。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多