orderBy过滤器无法在ng-repeat中工作

时间:2015-11-21 15:19:41

标签: angularjs angularjs-filter angularjs-orderby

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

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>

2 个答案:

答案 0 :(得分:1)

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

"181.00" < "316.00" < "79.00"

更正您的数据结构以获得所需的结果。

答案 1 :(得分:1)

只需改变你的json,

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

工作JSFiddle