我想在 ng-grid 上执行一种或一种查询,它使用相同的过滤器文本搜索两列。
我已经想出了如何在每列的基础上进行过滤,但我想做的是在具有相同输入的两列上进行过滤。
var searchQuery = 'college:' + collegeText + ";" + '课程名称:' + $scope.filterText + '部门:' + $scope.filterText + ';';
似乎不起作用。我必须删除部门或课程名称才能获得结果。显然,它认为需要在两列中都找到它才能返回结果。
我想在 ng-grid 上执行一种或一种查询,它使用相同的过滤器文本搜索两列。
我已经想出了如何在每列的基础上进行过滤,但我想做的是在具有相同输入的两列上进行过滤。
var searchQuery = 'college:' + collegeText + ";" + '课程名称:' + $scope.filterText + '部门:' + $scope.filterText + ';';
似乎不起作用。我必须删除部门或课程名称才能获得结果。显然,它认为需要在两列中都找到它才能返回结果。
这个资源上有一个例子。签出 repo 并在浏览器中加载页面。
基本上,您可以依赖filterChanged
事件。假设您在 HTML 中有如下搜索栏:
<input type="text" ng-model="filteringText" placeholder="Search..." class="search-query"/>
JavaScript 部分将如下所示:
// Initialize
$scope.filteringText = '';
$scope.filterOptions = {
filterText: 'filteringText',
useExternalFilter: false
};
// Configure ng-grid.
$scope.gridOptions = {
...
filterOptions: $scope.filterOptions,
...
};
$scope.$on('filterChanged', function (evt, text) {
console.log(text);
$scope.filteringText = text;
});