在angular js中使用date和keyword过滤数据
Filtering data usig date and keyword in angular js
我有一个包含数据的表,并说我从array1传递数据。在表的顶部,我有3个面板和一个按钮fromDate,toDate,关键字和搜索按钮。我想根据3输入的数据被过滤,一旦我点击搜索按钮。我的想法是当我点击搜索按钮时使用ng-click调用一个函数。
HTML: & lt;button type="button" class="btn btn-primary pull-right" ng-click="filter(toDate,fromDate,text)">Search</button>
$scope.filter = function (toDate, fromDate, text) {
var d1 = fromDate.format('MM-DD-YYYY');
var d2 = toDate.format('MM-DD-YYYY');
for (var i = 0; i < arr1.length; ++i) {
if (arr[i].match(/text/g) != null && arr1[i].dateReported >= d1 && arr1[i].dateReported <= d2) {
newarr[i] = arr[i];
}
}
};
但是我不知道如何打印和何时打印新的数组。有更好的方法吗?谢谢你
我认为您不需要将这三个参数传递给控制器方法。相反,您可以将这些变量公开给$scope,然后在过滤器方法中引用$scope变量。
下面是一个快速的例子,应该可以帮助你走上正确的轨道。请注意,这是在控制器中使用controllerAs语法。更多信息可以在这里找到。此外,我使用indexOf函数而不是执行正则表达式搜索。
function fooController($log, model) {
var self = this;
self.fromDate = null;
self.toDate = null;
self.filterText = null;
self.result = [];
self.onFilter = filter;
// Populate our array from external source.
var _myArray = model.populateArray();
function filter() {
// May want to check and ensure that self.fromDate, self.toDate, and self.filterText
// are defined. Exit gracefully or default them if not.
// Splice array rather than initialize to '[]' so we don't lose the reference in the scope
self.result.splice(0, self.result.length);
for(var i=0; i<_myArray.length; i++) {
if (_myArray[i].indexOf(self.filterText) >= 0) && _myArray[i].dateReported >= self.fromDate && _myArray[i] <= self.toDate) {
self.result.push(_myArray[i]);
}
}
$log.info(result);
};
};
那么你的HTML看起来就像
<button type='button' class='btn btn-primary pull-right' ng-click='vm.onFilter()'>Filter Data</button>
相关文章:
- 有可能过滤来自嵌入式YouTube的声音吗
- 为什么我的d3.jsselectAll+过滤器没有过滤
- ui网格日期单元格过滤器,过滤日期格式导致显示错误的日期
- Angular:使用选择列表选择过滤代码中的对象
- 在单击时过滤 JSON
- 如何在BookshelfJS中通过加入来过滤结果
- 如何使用javascript过滤复杂的json对象
- 如何应用带过滤器的ng if来过滤记录,并在同一页面中显示两个不同的视图
- 过滤AngularJs中的数据
- 通过API调用过滤数据
- 使用angularjs内置过滤器过滤代码中的特定属性
- 如何在重建URL后从URL中传递过滤值,目的是使用Angular2和Typescript实现无限滚动
- 相对于角度控制器中的另一个阵列过滤阵列项目
- 如何在D3.js中绘制地图投影上的点,并使用范围滑块过滤数据
- 使用PHP通过HTML表单选项选择器过滤MYSQL结果
- 尝试过滤“;引号"基于'"类别“;使用流星&mongo
- Angular中的过滤和$http承诺
- 使用jquery grep过滤具有值数组的json对象
- 过滤后如何将一行推送到表中
- 在angular js中使用date和keyword过滤数据