Heim  >  Artikel  >  Web-Frontend  >  AngularJS implementiert die Funktion zum Auswählen aller und Invertieren von Selection_AngularJS

AngularJS implementiert die Funktion zum Auswählen aller und Invertieren von Selection_AngularJS

WBOY
WBOYOriginal
2016-05-16 15:27:191594Durchsuche

AngularJS wurde entwickelt, um die Mängel von HTML beim Erstellen von Anwendungen zu überwinden. HTML ist eine gute deklarative Sprache, die für die statische Textanzeige entwickelt wurde, aber beim Erstellen von WEB-Anwendungen ist sie schwach. Also habe ich einige Arbeiten durchgeführt (Tricks, wenn Sie so wollen), um den Browser dazu zu bringen, das zu tun, was ich wollte.

Hier kommt die zweite der vier Hauptfunktionen von AngularJS zum Einsatz – die bidirektionale Datenbindung

Hinweis: Es wurde keine einzige Zeile DOM-Code geschrieben! Dies ist der Vorteil von ng. Bootstrap.css liegt im Layout, und der JS-Code erstellt einfach ng-Module und ng-Controller

Wirkung:

<!DOCTYPE html>
<html lang="en" ng-app="myModule5"><!--3、ng-app="myModule5"启动ng并调用模块-->
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="css/bootstrap.css">
<title>全选/取消全选</title>
</head>
<body>
<div class="container" ng-controller="myCtrl5"><!--4、ng-controller="myCtrl5"启用控制器-->
<h2>全选和取消全选</h2>
<table class="table table-bordered">
<thead>
<tr>
<th>选择</th>
<th>姓名</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<input ng-checked="selectAll" type="checkbox">
</td>
<td>Tom</td>
<td>
<button class="btn btn-danger btn-xs">删除</button>
</td>
</tr>
<tr>
<td>
<input ng-checked="selectAll" type="checkbox">
</td>
<td>Mary</td>
<td>
<button class="btn btn-danger btn-xs">删除</button>
</td>
</tr>
<tr>
<td>
<input ng-checked="selectAll" type="checkbox">
</td>
<td>King</td>
<td>
<button class="btn btn-danger btn-xs">删除</button>
</td>
</tr>
</tbody>
</table>
<input type="checkbox" ng-model="selectAll">
<span ng-hide="selectAll">全选</span>
<span ng-show="selectAll">取消全选</span>
</div>
<script src="js/angular.js"></script><!--1、引入angularJS-->
<script>
//2、创建自定义模块和控制器
angular.module('myModule5', ['ng']).
controller('myCtrl5', function($scope){
});
</script>
</body>
</html>

ps: AngularJs implementiert einfach alle Auswahl- und Mehrfachauswahlvorgänge

Wenn wir CURD verarbeiten (Hinzufügen, Löschen, Ändern, Überprüfen), müssen wir Daten in Stapeln verarbeiten. Zu diesem Zeitpunkt müssen wir Mehrfachauswahlvorgänge verwenden.

Die Implementierung in Angular ist wie folgt (natürlich gibt es viele bessere Methoden als das, was ich geschrieben habe, hier ist nur eine einfache Implementierung.)

HTML:

<section>
<pre class="brush:php;toolbar:false">{{choseArr}}
全选:
{{z}}
删除

Der Seiteneffekt ist wie folgt: (CSS verwendet Bootstrap)

JS-Code:

$scope.tesarry=[‘1‘,‘2‘,‘3‘,‘4‘,‘5‘];//初始化数据
$scope.choseArr=[];//定义数组用于存放前端显示
var str="";//
var flag=‘‘;//是否点击了全选,是为a
$scope.x=false;//默认未选中
$scope.all= function (c,v) {//全选
if(c==true){
$scope.x=true;
$scope.choseArr=v;
}else{
$scope.x=false;
$scope.choseArr=[""];
}
flag=‘a‘;
};
$scope.chk= function (z,x) {//单选或者多选
if(flag==‘a‘) {//在全选的基础上操作
str = $scope.choseArr.join(‘,‘) + ‘,‘;
}
if (x == true) {//选中
str = str + z + ‘,‘;
} else {
str = str.replace(z + ‘,‘, ‘‘);//取消选中
}
$scope.choseArr=(str.substr(0,str.length-1)).split(‘,‘);
};
$scope.delete= function () {// 操作CURD
if($scope.choseArr[0]==""||$scope.choseArr.length==0){//没有选择一个的时候提示
alert("请至少选中一条数据在操作!")
return;
};
for(var i=0;i<$scope.choseArr.length;i++){
//alert($scope.choseArr[i]);
console.log($scope.choseArr[i]);//遍历选中的id
}
};

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn