【发布时间】:2017-12-31 00:52:15
【问题描述】:
我不知道! 我有一个使用 Angular 的项目列表。现在我想要一个按选择框排序。
应该是这样的:preview
这是一个Plunker:https://embed.plnkr.co/JYF0u9jBbsfyIlraH3BJ/
<div id="ideaList">
<div ng-controller="destinationsCtrl">
<div class="filter">
<p>Suchbegriff eingeben</p>
<input type="text" ng-model="search" />
</div>
<div class="clearfix"></div>
<div>Sort by:
<select>
<option value="idea.title">A-Z</option>
<option value="destination.Dauer">Duration</option>
</select>
</div>
<div class="clearfix"></div>
<div class="container">
<div ng-if="item.name == 'Thailand'" ng-repeat="item in items">
<div class="row" ng-repeat="idea in item.ideas | orderBy: | filter:search">
<div class="col-xs-4 col-md-2">
<div class="previewImg" style="background-image: url('{{idea.imageUrl}}') !important;"></div>
</div>
<div class="col-xs-8 col-md-8">
<h4>{{idea.title}}</h4>
<p class="truncate"><span ng-repeat="destination in idea.destinations"><b>{{destination.Dauer}}</b> {{destination.Ort}} </span>
</p>
</div>
<div class="col-xs-12 col-md-2"> <a href="{{idea.ideaUrl}}" class="btn btn-default btn-lightblue"><span ng-show="price in item.ideas">schon ab XXXX € <i class="fa fa-angle-right" aria-hidden="true"></i></span></a>
</div>
</div>
</div>
</div>
</div>
这是我的 JS:
angular.module('destinationsApp', []).controller('destinationsCtrl',
function ($scope, $http) {
$http.get('https://raw.githubusercontent.com/MAHUKI-Webdesign/suntrips.github.io/master/data.json').then(function (itemsResponse) {
$scope.items = itemsResponse.data;
});
});
有人可以帮忙吗?
【问题讨论】:
-
您可以将 orderBy 与 ng-repeat 一起使用,但您必须先将对象转换为数组:stackoverflow.com/a/19387871/2157581
-
mySortFunction在哪里? -
我推迟了它,因为它不起作用
标签: javascript jquery angularjs angularjs-ng-repeat