我当文档加载,使其能够点击与类“头”的每个元素扩大,显示出更多的细节,被称为事件:文件Click事件停止了过滤
$(document).ready(function() {
InitClick();
});
这里功能:
function InitClick() {
$('.header').click(function() {
$(this).nextUntil('tr.header').slideToggle();
});
}
现在的问题是,当结果得到过滤,它就会导致该点击事件停止,直到我重新初始化它,然后它会重新开始工作......直到数据过滤再次或必须更新。
现在我的主要问题是,有没有人得到一个可以帮助我的东西的链接,我试过把它放在$ watch上,但是我保留的主要问题是在过滤的数据返回之前调用它,导致它在数据存在之前进行初始化。
这是MyApp.js如果有帮助吗?
var MyApp = angular.module('MyApp', []);
MyApp.controller('MyAppCtrl', function ($scope, $filter) {
$scope.Users = tJSONData;
$scope.currentPage = 0;
$scope.pageSize = 3;
$scope.Pages = [];
$scope.search = '';
$scope.Completed = '';
$scope.getData = function() {
return $filter('filter')($scope.Users, $scope.search || $scope.Completed);
}
$scope.numberOfPages = function() {
return Math.ceil($scope.getData().length/$scope.pageSize);
}
$scope.$watch('numberOfPages()', function (newVal, oldVal) {
var tPages = [];
for (i = 0; i < $scope.numberOfPages(); i++) {
tPages.push(i + 1);
}
if ($scope.currentPage >= $scope.numberOfPages()) {
$scope.currentPage = $scope.numberOfPages() - 1;
}
if ($scope.currentPage == -1) {
$scope.currentPage = 0;
}
return $scope.Pages = tPages;
})
$scope.updatePage = function() {
$scope.$apply(function() {
$scope.Users = tJSONData
})
}
$scope.limitPagination = function() {
if ($scope.currentPage == 0) {
return $scope.currentPage;
} else if ($scope.currentPage == 1) {
return $scope.currentPage - 1
} else {
return $scope.currentPage - 2;
}
}
});
MyApp.filter('startFrom', function() {
return function (input, start) {
start =+ start; //parse to int
return input.slice(start);
}
});
任何帮助表示赞赏:)
不幸的是,改变它停止发生的事件:(感谢您的尝试:) –
我给你的东西应该已经完成了。它抛出任何控制台错误或任何东西? – samanime
没有,我唯一能想到的就是添加处理程序,然后当添加一个新对象时,我不认为它会有处理程序。我需要找出一种方法来调用它,每次它改变,但我不是100%确定如何做到这一点。至于为什么它阻止它工作,不是一个线索。 –