AngularJS table orderBy 复选框
AngularJS table orderBy checkbox
我想在单击复选框时对 table 进行排序,并且还能够过滤 table。下面的代码已经修复,现在可以使用了....
HTML
<table>
<tr ng-repeat="x in myArray | filter : name | orderBy : sortOrder">
<td>{{ x.name }}</td>
<td>{{ x.age }}</td>
</tr>
</table>
<input type="checkbox" ng-model="sortByName" ng-change="setSortOrder()">
<input type="text" ng-model="name">
AngularJS
app.controller("myController", function($scope, $http)
{
$scope.filterString = '';
$scope.sortByName = false;
$scope.sortOrder = '';
$scope.setSortOrder = function()
{
if($scope.sortByName)
{
$scope.sortOrder = 'name';
}
else
{
$scope.sortOrder = '';
}
}
您没有告诉您的复选框在其选中状态发生变化时调用选择排序条件的控制器方法。您可以使用 ngChange 指令来执行此操作。尝试以下操作:
<input type="checkbox" ng-model="sortByName" ng-change="setSortOrder()">
我想在单击复选框时对 table 进行排序,并且还能够过滤 table。下面的代码已经修复,现在可以使用了....
HTML
<table>
<tr ng-repeat="x in myArray | filter : name | orderBy : sortOrder">
<td>{{ x.name }}</td>
<td>{{ x.age }}</td>
</tr>
</table>
<input type="checkbox" ng-model="sortByName" ng-change="setSortOrder()">
<input type="text" ng-model="name">
AngularJS
app.controller("myController", function($scope, $http)
{
$scope.filterString = '';
$scope.sortByName = false;
$scope.sortOrder = '';
$scope.setSortOrder = function()
{
if($scope.sortByName)
{
$scope.sortOrder = 'name';
}
else
{
$scope.sortOrder = '';
}
}
您没有告诉您的复选框在其选中状态发生变化时调用选择排序条件的控制器方法。您可以使用 ngChange 指令来执行此操作。尝试以下操作:
<input type="checkbox" ng-model="sortByName" ng-change="setSortOrder()">