JavaScript 选择过滤器

标签 javascript jquery angularjs

背景:有一个表,我可以从中选择员工。我想按姓名过滤这些员工。(我知道姓名不是一个好的过滤方式,这只是一个例子) 基本上我有一个下拉列表,我可以从中选择一个过滤器。

我的声明:$scope.filters = null;。 我也有这个减速来选择我的过滤器 $scope.chosenFilter= null;

我使用以下内容来检索我拥有的不同过滤器$scope.filters =retrieveFilters(info.Names);

retrieveFilters 如下所示:

var retrieveFilters = function(rows) {

    var filterWrapper = document.querySelector(".filterWrapper");
    var datasetOptions = [];

    $scope.predicate = 'Name';

    if (rows) {
        //Add Default option
        datasetOptions.push({
            name: $scope.data.Fnames.defaultFilterOptionLabel,
            value: ''
        });
        $scope.chosenFilter = datasetOptions[0];

        _.forEach(rows, function(ele) {
            datasetOptions.push({
                name: ele,
                value: ele
            });
        });
    } else {
        filterWrapper.style.display = "none";
            }

    return datasetOptions;
};

我使用以下内容来选择我的过滤器:

$scope.$watch('chosenFilter', function() {
    var filterSearchInput = document.querySelector(".filterWrapper input");
    ng.element(filterSearchInput).triggerHandler('input');
});

一切都很好,第一次加载时显示正常,因为我已经使用

设置了默认值
//Add Default option
datasetOptions.push({
    name: $scope.data.Fnames.defaultFilterOptionLabel,
    value: ''
});

从默认表中,每当我单击员工姓名时,都会显示详细信息。但是,每当我过滤并单击员工姓名时,都不会显示任何内容。每当我单击默认表中的特定员工姓名,然后以相同的姓名进行过滤时,信息也会显示出来,因为我每次都会缓存它。

最佳答案

我假设您使用 ng-repeat 在 GUI 中的某个位置显示此数据。 Angular 为此提供了许多很棒的内置功能。在这里查看答案:AngularJS custom search data by writing custom filter寻找一种从 Angular 方向更接近这个问题的方法。您可能还想查看此问题和答案:"Thinking in AngularJS" if I have a jQuery background? .

关于JavaScript 选择过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37188470/

相关文章:

c# - JavaScript 中的 Div 可见性

Javascript Safari 在确认()方法之前没有运行行

jquery - flexNav.js 子菜单偏离中心

php - 如果用户在 AJAX 请求结束之前退出浏览器或更改页面会发生什么

javascript - AngularJS:ng-if 超出 ng-repeat 会破坏 ng-repeat

javascript - 结合 Angular 文件上传和 multer

javascript - 为什么我的 Javascript 内容在网页中不可见

javascript - 如何在回答特定的 Google 表单项目时发送批准人电子邮件

JQuery UI 按钮在 IE 中触发 "potentially dangerous Request.Form value"错误

javascript - TinyMCE setContent 不清除撤销历史