2016-06-15 33 views
1

下面顯示的select元素使用Angular 1.47(代碼也顯示)填充。我希望目前的值爲-45bp - 位於列表的頂部,而不是底部。我怎樣才能做到這一點?使用AngularJS ng選項中的訂購選項

My dropdown

<div class="modal-content"> 
     <div class="modal-header edit-modal" style="border-style: solid; border-width: 1px;"> 
     <button type="button" class="close" ng-click="close()" data-dismiss="modal" aria-hidden="true">×</button> 
     <div>Test Dialog </div> 
     </div> 
     <div class="modal-body"> 
     <form class="form-horizontal ng-pristine ng-valid" role="form"> 
      <div class="row edit-modal"> 
       <div class="col-sm-1"></div> 
       <div class="col-sm-5 text-left label-no-padding">Option 1</div> 
       <div class="col-sm-5"> 
       <select style="width:150px" ng-model="Option1" ng-options="Option1 as Option1.label for Option1 in dropdown.Option1 | orderBy:'orderId'" class="ng-pristine ng-valid ng-touched"></select> 
       </div> 
       <div class="col-sm-1"></div> 
      </div> 
      <div class="row edit-modal"> 
       <div class="col-sm-1"></div> 
       <div class="col-sm-5 text-left label-no-padding">Option 2</div> 
       <div class="col-sm-5"> 
       <select style="width:150px" ng-model="Option2" ng-options="Option2 as Option2.label for Option2 in dropdownValueMap.Option2| orderBy:'orderId'" class="ng-pristine ng-untouched ng-valid"></select> 
       </div> 
       <div class="col-sm-1"></div> 
      </div> 
      <div class="row edit-modal"> 
       <div class="col-sm-1"></div> 
       <div class="col-sm-5 text-left label-no-padding">Option 3</div> 
       <div class="col-sm-5"> 
       <select style="width:150px" ng-model="Option3" ng-options="Option3 as Option3.label for Option3 in dropdown.Option3 | orderBy:'orderId'" class="ng-pristine ng-untouched ng-valid"></select> 
       </div> 
       <div class="col-sm-1"></div> 
      </div> 
     </form> 
     </div> 
     <div class="modal-footer"> 
     <button type="button" ng-click="closeSave()" class="btn btn-primary" data-dismiss="modal">OK</button> 
     <button type="button" ng-click="close()" class="btn" data-dismiss="modal">Cancel</button> 
     </div> 
    </div> 
+1

似乎要根據一些規則,而不是使用排序依據數組排序手動。您需要創建一個自定義過濾器,它執行orderBy操作,但將45移動到列表 – SoluableNonagon

+0

排序的開始處?我對訂單沒問題。我只想讓45 bp處於最高位置(46​​ bp,47 bp等位置)以下的項目顯示在下方。這不是一個大問題,它看起來應該是可能的 –

+1

那麼你想要反轉順序?實際上,您能否提供一個如何讓數據顯示的例子? – SoluableNonagon

回答

2

我看到你正在使用orderBy過濾器。

  • 如果您使用orderBy:'orderId',訂單正在增加(27,28,29,30)。
  • 如果您使用orderBy:'-orderId',則訂單正在降序(30,29,28,27)。

看看到:https://docs.angularjs.org/api/ng/filter/orderBy

希望我幫助:)