【问题标题】:checkbox filtering on table with objects带有对象的表上的复选框过滤
【发布时间】:2016-05-13 15:08:57
【问题描述】:

我将 AngularJS 与 smart-table 模块一起使用,并用它显示一个表格。

行中的信息由 MySQL 的“POST”请求捕获。

这些信息堆叠在应用控制器中声明的 $scope.data_server 中:

app.controller('SearchbddCtrl', function ($scope, $http) {
   get_data();
function get_data() {
    var name = $scope.name;
    $http.post('/searchbdd', {name: name}).success(function (data, status, headers, config) {
        $scope.data_server = data;
    }).error(function (data, status) {
        alert("Connection Error");
     });
    }
});

在前端我这样显示它们:

<tr ng-repeat="data in displayCollection" st-select-row="data" st-select-mode="single">
<td>{{ data.login}}</td>
<td>{{ data.name}}</td>
</tr>

我想做什么: 使用多个复选框过滤这些行。我需要 10 个复选框。

我真的不知道该怎么做。。有人有任何信息或代码示例吗??

示例: 例如,我在表格中展示了水果(香蕉、苹果和橙子)。我想在表格中只显示香蕉而不是香蕉、苹果和橙子。或者如果我只想显示苹果和橙子。我检查了“橙子”和“苹果”,它显示了包含这些类型水果的行。

更新:

这就是我想做的:https://github.com/lorenzofox3/Smart-Table/issues/387

【问题讨论】:

  • “用多个复选框过滤这些行”是什么意思?这真的很模棱两可。你能更好地描述一下功能吗?
  • 比如我有水果。我想在表格中只显示香蕉而不是香蕉、苹果和橙子。或者如果我只想显示苹果和橙子。我检查了“橙子”和“苹果”,它显示了包含这些类型水果的行。

标签: mysql angularjs checkbox filter smart-table


【解决方案1】:

您可以使用 ng-repeat 过滤器来执行此操作。

对于 Sample,如果您在集合的每一行中都有一个列类型,您可以执行以下操作:

<input type="checkbox" ng-model="$scope.filter.type" value="banana"/>

<tr ng-repeat="data in displayCollection | filter:$scope.filter" st-select-row="data" st-select-mode="single">
<td>{{ data.login}}</td>
<td>{{ data.name}}</td>
</tr>

【讨论】:

  • 谢谢你的回答,你能告诉我什么是“filter.type”吗?我的意思是当我使用它时,它会隐藏表格中的每一行。
  • 我想做的事情就是这样:github.com/lorenzofox3/Smart-Table/issues/387
  • 好的,我明白了。实际上,在我的示例中,对象过滤器是默认情况下没有列的自定义对象。您可以添加对象的每一列以对其进行过滤。在我的示例中,如果您的对象中有列类型,您将能够按照我的示例过滤香蕉类型。如果您有另一列性别或类别,它将接近 $scope.filter.gender
  • 好的,在我的情况下,我试图通过使用未显示在表格列中的“状态”过滤来显示行,但我在 $scope.data_server 中获得了此状态跨度>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-01
  • 1970-01-01
  • 2023-04-05
  • 2019-09-13
相关资源
最近更新 更多