2015-11-21 62 views
1

我使用orderby過濾器對產品進行排序,但它不能正常工作。請幫助我找出問題所在。產品尺寸:: [{「prodsize」:「DOUBLE」,「sizerate」:「181.00」},{「prodsize」:「FAMILY」,「sizerate」:「316.00」},{「prodsize 「:」 SOLO」, 「sizerate」: 「79.00」}]orderBy過濾器在ng-repeat中不起作用

代碼:

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

回答

1

orderBy濾波器工作。你的問題來自於一個事實,即sizerate屬性字符串而非數字,因此:

"181.00" < "316.00" < "79.00" 

更正數據結構,以得到你想要的結果。

1

只要改變你的JSON這樣,

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

工作JSFiddle