我想过滤ng-repeat,使用按钮(稍后我将使用输入),当我点击过滤器按钮时,一切都消失了,当我点击没有过滤器的按钮时,一切都会隐藏。
我在这个小提琴中复制了部分代码:http://jsfiddle.net/3g3L0ca8/
<div ng-app>
<a id="filter-by-date" class="btn btn-success wide-btn" href="#" ng-click="myFilter = {date: 1900-12-31}">Select by date</a>
<a id="filter-by-date" class="btn btn-success wide-btn" href="#" ng-click="myFilter = null">All the events</a>
<div ng-controller="Test">
<div class="events-right-bar scrollable-content" id='hideshow' value='hide/show'>
<section ng-repeat="event in events | orderBy:'date' | filter:myFilter">
<div class="panel panel-default single-event">
<div class="panel-heading">
<h3>
<button type="button" class="btn btn-info btn-lg" data-toggle="modal" data-target="#dialogTestDialog{{$index}}">{{event.title}}</button>
<em class="pull-right">Created by user: {{event.username}}</em>
</h3>
</div>
<div class="panel-body">
Description:<br>{{event.description}} <br>
<em class="pull-right">{{event.date | date:'dd-MM-yyyy' }} - {{event.hour | date:"H:mm"}}</em> <br>
{{event.duration}} minutes <br>
</div>
</div>
</div>
</div>
</section>
</div>
</div>
当我按日期按过滤器时,一切都消失了,我认为它可以通过日期格式,但我不确定。但是当我点击没有过滤器按钮时,一切都会出现,在我的项目中,没有过滤按钮什么都不做。
答案 0 :(得分:0)
我解决了no过滤器按钮,将“myFilter:'”改为“myFilter:'” 现在我只需解决日期问题,我一直认为这是格式问题。
编辑:正如我所料,这是格式错误。即使日期显示为dd-MM-yyy,似乎在过滤器中它必须写成yyyy-MM-dd。因此,我在2015年11月27日尝试的日期是错误的,它的工作原理是2015-11-27
现在可行了