我試圖訂購一張訂單細節表。 從選擇標籤的下拉列表中選擇要排序的屬性。Angular JS:使用orderby與選擇標記選定的值
這兩個屬性是訂單ID和產品數量,我從控制器功能中獲得。
功能:
$scope.countProducts = function(order){
var counter = 0;
order.products.forEach(function(currProd){
counter += currProd.count;
});
return counter;
};
ID是數值變量。
我的觀點: 詳情表:
<table>
<thead>
<tr>
<!-- a headline row -->
</tr>
</thead>
<tbody>
<tr ng-repeat="order in orders | orderby: orderByAttr">
<!-- order details rows -->
</tr>
</tbody>
</table>
選擇標記與選擇:
<select ng-model="orderByAttr">
<option ng-value="order.id">id</option>
<option ng-value="countProducts(order)"> products count </option>
</select>
如何傳遞的選項將過濾器訂單的價值? 如何將countProduct結果綁定到選擇值?
我已經與該foreach概念工作,它的工作,但我仍然不能dynamiclly更改屬性排序。我的選擇看起來很像你的例子,我可以通過prodCount屬性來定購它。出於某種原因,它只會選擇prodCount選項。 –
檢查您的數據。 Id字段必須與數據中的Id字段完全拼在一起。如果您的數據字段被稱爲'Id'或'ID','id'將不起作用。 –