AngularJs:通过2列中的任意一列进行编程过滤
AngularJs: programmatically filter by either of 2 columns
我有以下代码在我的控制器:
$scope.filteredTransactions = $scope.invoiceTransactionsObject.transactions.concat(); // make a copy of the initial array
if ($scope.searchTerm.message)
{
var search = $scope.searchTerm.message;
$scope.filteredTransactions = $filter('filter')($scope.filteredTransactions, ({ message: search } || { item: search }));
}
我希望能够通过键入一些值进行过滤,并在消息列或项目列中进行搜索。根据如何过滤多个值(或操作)在angularJS它应该工作,但它没有,如果我键入的东西,可以在消息中找到,它的工作,但当我从项目中键入的东西,它返回空数组。
你知道我错在哪里了吗?
更新删除不相关/错误的初始答案
由于您在JS脚本中应用了$filter,并且它没有使用$filter的任何高级特性,因此我将切换到JS原生的过滤数组的方法:
$scope.filteredTransactions = $scope.invoiceTransactionsObject.transactions.concat(); // make a copy of the initial array
if ($scope.searchTerm.message)
{
var search = $scope.searchTerm.message;
$scope.filteredTransactions = $scope.filteredTransactions.filter(function (trans) {
return trans.message.toLowerCase().indexOf(search) >= 0 || trans.item.toLowerCase().indexOf(search) >= 0;
});
}
…假设$filter不区分大小写并匹配字符串中的任何位置。如果这不是$filter的功能和/或不是您想要的,您可以相应地调整代码。
相关文章:
- 有可能过滤来自嵌入式YouTube的声音吗
- jquery动画可以通过编程链接吗
- 一点javascript元编程&可链接的设置器
- 为什么我的d3.jsselectAll+过滤器没有过滤
- 如何正确编程jQuery动画与平滑(导航栏)
- ui网格日期单元格过滤器,过滤日期格式导致显示错误的日期
- Angular:使用选择列表选择过滤代码中的对象
- 在单击时过滤 JSON
- 如何在BookshelfJS中通过加入来过滤结果
- 以编程方式填充组合框道场 (1.8) 的最佳方法是什么?
- 以编程方式选择文本Mobile Safari
- 我们可以使用任意的编程语言来动态化HTML页面吗
- 我如何编程许多不同的条件和操作
- 如何使用javascript过滤复杂的json对象
- Web编程,简单但适用于机器人项目
- Thunderbird,如何以编程方式选择第一个选项卡
- 以编程方式获取无线接入点列表
- 使用函数式编程过滤文字对象
- CRM 2016 -可编程过滤子网格
- AngularJs:通过2列中的任意一列进行编程过滤