javascript - Angularjs 循环拼接

标签 javascript json angularjs

我正在构建这个 angularjs 应用程序,这是我的第一个应用程序。如此巨大的学习曲线。我似乎无法删除项目,而且我的搜索也不起作用。不过,我设法让列排序和分页正常工作。

我没有收到错误,所以我不确定为什么表中项目行的搜索和删除不起作用。

我尝试过使用这个:

       $scope.remove = function(client){
            for(var i = $scope.clients.length - 1; i >= 0; i--){
                if($scope.clients[i].name == client.name){
                        $scope.clients.splice(i,1);
                }
            }
        }

工作示例:http://plnkr.co/edit/f2ozbP4JxrRSvRGJAmQi

答案,工作:

谢谢@DTing

  $scope.remove = function(client){
      $scope.filteredItems = $scope.filteredItems.filter(function(item) {
        return item.name !== client.name;
      });
      $scope.groupToPages();
    }

最佳答案

这应该是您的删除功能:

        $scope.remove = function(client){
            for(var i = $scope.pagedItems[$scope.currentPage].length - 1; i >= 0; i--){
                if($scope.pagedItems[$scope.currentPage][i].name == client.name){
                    $scope.pagedItems[$scope.currentPage].splice(i,1);
                    break;
                }
            }
        }

这应该是您的搜索功能(注意 $scope.clientsCopy 的创建):

        $scope.clientsCopy = angular.copy(data);

        $scope.searchMatch = function (haystack, needle) {
            if (!needle) {
                return true;
            }
            return haystack.toLowerCase().indexOf(needle.toLowerCase()) !== -1;
        };

        // init the filtered items
        $scope.search = function () {
            $scope.filteredItems = $filter('filter')($scope.clientsCopy, function (item) {
                for(var attr in item) {
                    if ($scope.searchMatch(item.name, $scope.query))
                        return true;
                    }
                    return false;
                }
            );
            // take care of the sorting order
            if ($scope.sortField !== '') {
                $scope.filteredItems = $filter('orderBy')($scope.filteredItems, $scope.sortField, $scope.reverse);
            }
            $scope.currentPage = 0;
            // now group by pages
            $scope.groupToPages();
        };

Plunker

关于javascript - Angularjs 循环拼接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29509510/

相关文章:

javascript - jquery 空闲秒数计数器

android - 如何将参数从android传递给RESTlet webservice?

javascript - 无法读取未定义的 Angular JS 的属性 'push'

javascript - ionic 模式无法打开

angularjs - 使用angularjs ui bootstrap分页重新加载后如何留在当前页面上?

javascript - 在 jqplot 饼图工具提示中显示百分比

php - 使用 Google Analytics 统计图像中的用户访问次数

json - 如何从 firebase 中的键值对中获取唯一的键?

jquery - Google Chrome 开发者工具 & 'known' 异常

javascript - 如何在javaScript中从子页面刷新父页面