2015-11-21 2 views
1

Я использую orderby фильтр для сортировки моего продукта. Но он не работает должным образом. Пожалуйста, помогите мне разобраться с проблемой. Json:orderBy фильтр не работает в ng-repeat

productSize :: [{ "prodsize": "ДВОЙНОЙ", "sizerate": "181,00"}, { "prodsize": "СЕМЬЯ", "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> 

ответ

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

Смежные вопросы