我创建了一个表,其中有一个选项可以通过复选框选择行,效果很好。
现在我正在寻找一些东西——想法、例子、类似的案例——来帮助我将那些选定的行复制到剪贴板,以便将它们一个接一个地粘贴到 Excel 文件中。
checked我可以通过控制器中的属性或通过 AngularJS 的filter功能过滤所有项目列表。
我的表:
<button ng-click="copySelected()" type="button">Copy selected to clipboard</button>
<table>
<thead>
<tr>
<th><input type="checkbox" ng-model="selectAll" ng-change="toggleAll()"></th>
<th>ID</th>
<th>Date</th>
<th>Subject</th>
</tr>
</thead>
<tbody ng-repeat="item in items">
<tr>
<td><input type="checkbox" id="chk-{{item.id}}" ng-model="options[$index]" ng-value="item.id"
ng-change="toggleItem($index)"></td>
<td>{{item.id}}</td>
<td>{{item.issueDate}}</td>
<td>{{item.subject}}</td>
</tr>
</tbody>
</table>
AngularJS 控制器:
$scope.selectAll = false;
$scope.options = [];
$scope.toggleItem = function(index) {
$scope.items[index].checked = !$scope.items[index].checked;
if (!$scope.items[index].checked) {
$scope.selectAll = false;
}
};
$scope.toggleAll = function() {
var checked = $scope.selectAll;
for (var i = 0; i < $scope.items.length; i++) {
$scope.options[i] = checked;
$scope.items[i].checked = checked;
}
};
// this is where I don't know how to progress from
$scope.copySelected = function() {
if ($scope.selectAll) {
} else {
for (var i = 0; i < $scope.items.length; i++) {
if ($scope.items[i].checked) {
}
}
}
};
慕码人2483693
相关分类