orderBy 过滤器在 ng-repeat 中不起作用

orderBy filter not working in ng-repeat

我正在使用 orderby 过滤器来排序我的 product.But 它不起作用 properly.Please 帮助我找出问题所在。 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>

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

"181.00" < "316.00" < "79.00"

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

像这样改变你的json,

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

工作JSFiddle