用angular實(shí)現(xiàn)多選按鈕的全選與反選實(shí)例代碼
在頁(yè)面中我們常常會(huì)遇到多選框,例如購(gòu)物車(chē)?yán)锏纳唐?br />
下面用angular來(lái)實(shí)現(xiàn)這一功能
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<script src="js/angular.min.js"></script>
</head>
<body ng-app="select" ng-controller="moreSel">
全選: <input type="checkbox" ng-checked="checks" ng-click="checks = !checks; all(checks)">
<!--track by $index去掉也可以-->
<div ng-repeat="item in datas track by $index">
<input type="checkbox" ng-checked="chkItem[$index]" ng-click="ck(chkItem[$index]==undefind?false:chkItem[$index], item, $index)">{{ item }}
</div>
<pre>{{arr}}</pre>
</body>
<script>
//創(chuàng)建模塊
angular.module("select", [])
//控制器
.controller("moreSel", function ($scope) {
$scope.datas = ["C++","Html","Javascript"];
$scope.arr = [];//用來(lái)顯示選中的內(nèi)容
//用來(lái)標(biāo)志每一項(xiàng)的狀態(tài)
$scope.chkItem = [];
//全選
$scope.all = function (checks) {
//初始化設(shè)置狀態(tài)
init(checks);
//將選中的內(nèi)容賦值到數(shù)組中
if(checks) {
for(var i = 0; i < $scope.datas.length; i++) {
$scope.arr[i] = $scope.datas[i];
}
}else {
$scope.arr = [];
}
}
//點(diǎn)擊選擇
$scope.ck = function (state, item, index) {
//取狀態(tài)的相反值
$scope.chkItem[index] = !state;
//有一個(gè)為false則全選按鈕為不選中
if(!$scope.chkItem[index]){
$scope.checks = false;
//取消選中,將數(shù)值從arr數(shù)組中刪除掉
var num = $scope.arr.indexOf(item);
$scope.arr.splice(num, 1);
}else {
//選中追加進(jìn)去
$scope.arr.push(item);
for(var i = 0; i < $scope.datas.length; i++) {
//只要有一個(gè)按鈕沒(méi)有選中
if(!$scope.chkItem[i]){
return;
}
}
//全部選中
$scope.checks = true;
}
}
//初始化
var init = function (sel) {
for(var i = 0; i < $scope.datas.length; i++) {
//sel沒(méi)有值 默認(rèn)初始化false
$scope.chkItem[i] = sel || false;
}
}
});
</script>
</html>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- AngularJS實(shí)現(xiàn)按鈕提示與點(diǎn)擊變色效果
- 用AngularJS來(lái)實(shí)現(xiàn)監(jiān)察表單按鈕的禁用效果
- ionic+AngularJs實(shí)現(xiàn)獲取驗(yàn)證碼倒計(jì)時(shí)按鈕
- 使用AngularJS2中的指令實(shí)現(xiàn)按鈕的切換效果
- Angular2搜索和重置按鈕過(guò)場(chǎng)動(dòng)畫(huà)
- AngularJS 實(shí)現(xiàn)點(diǎn)擊按鈕獲取驗(yàn)證碼功能實(shí)例代碼
- Angular.js實(shí)現(xiàn)獲取驗(yàn)證碼倒計(jì)時(shí)60秒按鈕的簡(jiǎn)單方法
- 使用AngularJS編寫(xiě)多選按鈕選中時(shí)觸發(fā)指定方法的指令代碼詳解
- Angular實(shí)現(xiàn)點(diǎn)擊按鈕后在上方顯示輸入內(nèi)容的方法
相關(guān)文章
使用AngularJS處理單選框和復(fù)選框的簡(jiǎn)單方法
這篇文章主要介紹了使用AngularJS處理單選框和復(fù)選框的方法,在AngularJS表單的基礎(chǔ)之上編寫(xiě)起來(lái)非常簡(jiǎn)單,需要的朋友可以參考下2015-06-06
AngularJS 輸入驗(yàn)證詳解及實(shí)例代碼
本文主要介紹AngularJS 輸入驗(yàn)證,這里對(duì)AngularJS 輸入驗(yàn)證的資料做了整理,并附簡(jiǎn)單實(shí)例代碼和效果圖,有需要的小伙伴參考下2016-07-07
Angular中ng?update命令force參數(shù)含義詳解
這篇文章主要為大家介紹了Angular中ng?update命令force參數(shù)含義詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10
淺談angularjs module返回對(duì)象的坑(推薦)
下面小編就為大家?guī)?lái)一篇淺談angularjs module返回對(duì)象的坑(推薦)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-10-10
AngularJS學(xué)習(xí)筆記之基本指令(init、repeat)
AngularJS 指令是擴(kuò)展的 HTML 屬性,帶有前綴 ng-。ng-app 指令初始化一個(gè) AngularJS 應(yīng)用程序。ng-init 指令初始化應(yīng)用程序數(shù)據(jù)。ng-model 指令把應(yīng)用程序數(shù)據(jù)綁定到 HTML 元素。2015-06-06
詳解ng-alain動(dòng)態(tài)表單SF表單項(xiàng)設(shè)置必填和正則校驗(yàn)
這篇文章主要介紹了詳解ng-alain動(dòng)態(tài)表單SF表單項(xiàng)設(shè)置必填和正則校驗(yàn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-06-06

