columns: [...]
チェックボックスによって変更したい。
チェックボックスをオンにすると、 columns: ['model.name' ,'model.department']
チェックを外すと、次のように変更されますcolumns: ['model.name']
-削除されましたmodel.department
angular.module('plunker', [])
.controller('MainCtrl', function($scope) {
$scope.options = {
columns: ['model.name', 'model.department'],
};
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<!DOCTYPE html>
<html ng-app="plunker">
<head>
<meta charset="utf-8" />
<title>AngularJS Plunker</title>
<script data-require="angular.js@1.*" data-semver="1.4.3" src="https://code.angularjs.org/1.4.3/angular.js"></script>
<script>
document.write('<base href="' + document.location + '" />');
</script>
<link rel="stylesheet" href="style.css" />
<script src="app.js"></script>
</head>
<body ng-controller="MainCtrl">
<li>
<label>
<input type="checkbox" ng-model=options.columns>Department</label>
</li>
</body>
</html>
コントローラのスコープに関数を追加して、チェックボックスがオンになっているかどうかに応じてアイテムを追加または削除します。
$scope.addRemoveItem = function (checked, value) {
if (checked) {
$scope.options.columns.push(value);
}
else {
var index = $scope.options.columns.indexOf(value);
$scope.options.columns.splice(index);
}
};
次に、チェックボックスが変更されたときにng-changeを使用してこの関数を呼び出します。
<label><input type="checkbox" ng-model="departmentChecked" ng-change="addRemoveItem(departmentChecked, 'model.department')">Department</label>
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加