我在 AngularJS 中有一个表,我使用过滤器来执行搜索功能。
<tr ng-repeat="order in orders | orderBy:sortType:sortReverse |filter:searchValue">
在表中,我有一个日期字段,我将其格式化并显示为 MM/dd/yyyy:
<td>
{{order.OrderDate | date:"MM/dd/yyyy"}}
</td>
问题是,原始日期类型类似于:“2015-10-30”,过滤将基于此。因此,如果我搜索 10/30/2015,它不会返回任何内容。有什么办法可以解决这个问题吗?
最佳答案
在作用域中声明方法
像这样
$scope.filterValue=function(obj){
return $filter('date')(obj.OrderDate, 'MM/dd/yyyy') == $filter('date')($scope.searchValue, 'MM/dd/yyyy')
}
将此方法添加到您的 html 过滤器中
像这样
<tr ng-repeat="order in orders | orderBy:sortType:sortReverse |filter:filterValue">
N:B:
你必须在 Controller 中注入(inject)$filter
关于javascript - AngularJS:根据格式化日期过滤/搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33470959/