Background: There's a table from which I can choose employees. I want to filter these employees by name.(I know name is not a good way to filter, this is just an example) Basically I have a drop down from which I choose one of the filters.
My declaration: $scope.filters = null;.
I also have this deceleration to choose my filter $scope.chosenFilter= null;.
I use the following to retrieve the different filters I have $scope.filters = retrieveFilters(info.Names); 
retrieveFilters looks like the following:
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;
};
I use the following to choose my filter:
$scope.$watch('chosenFilter', function() {
    var filterSearchInput = document.querySelector(".filterWrapper input");
    ng.element(filterSearchInput).triggerHandler('input');
});
Everything is fine and the display works on first load as I have set the default with
//Add Default option
datasetOptions.push({
    name: $scope.data.Fnames.defaultFilterOptionLabel,
    value: ''
});
From the default table whenever I click on an employees name hes details are displayed. However whenever I filter and click on the employees name, nothing is displayed. Whenever I click on a specific employees name at the default table and then filter in the same name the information also shows up, as I cache it each time.
 
     
     
    