用angular實(shí)現(xiàn)多選按鈕的全選與反選實(shí)例代碼
在頁面中我們常常會遇到多選框,例如購物車?yán)锏纳唐?br />
下面用angular來實(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 = [];//用來顯示選中的內(nè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è)按鈕沒有選中
if(!$scope.chkItem[i]){
return;
}
}
//全部選中
$scope.checks = true;
}
}
//初始化
var init = function (sel) {
for(var i = 0; i < $scope.datas.length; i++) {
//sel沒有值 默認(rèn)初始化false
$scope.chkItem[i] = sel || false;
}
}
});
</script>
</html>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- AngularJS實(shí)現(xiàn)按鈕提示與點(diǎn)擊變色效果
- 用AngularJS來實(shí)現(xiàn)監(jiān)察表單按鈕的禁用效果
- ionic+AngularJs實(shí)現(xiàn)獲取驗(yàn)證碼倒計(jì)時(shí)按鈕
- 使用AngularJS2中的指令實(shí)現(xiàn)按鈕的切換效果
- Angular2搜索和重置按鈕過場動畫
- AngularJS 實(shí)現(xiàn)點(diǎn)擊按鈕獲取驗(yàn)證碼功能實(shí)例代碼
- Angular.js實(shí)現(xiàn)獲取驗(yàn)證碼倒計(jì)時(shí)60秒按鈕的簡單方法
- 使用AngularJS編寫多選按鈕選中時(shí)觸發(fā)指定方法的指令代碼詳解
- Angular實(shí)現(xiàn)點(diǎn)擊按鈕后在上方顯示輸入內(nèi)容的方法
相關(guān)文章
AngularJS驗(yàn)證信息框架的封裝插件用法【w5cValidator擴(kuò)展插件】
這篇文章主要介紹了AngularJS驗(yàn)證信息框架的封裝插件用法,分析了AngularJS表單驗(yàn)證規(guī)則并實(shí)例說明了w5cValidator擴(kuò)展插件的相關(guān)使用技巧,需要的朋友可以參考下2016-11-11
AngularJS雙向綁定和依賴反轉(zhuǎn)實(shí)例詳解
這篇文章主要介紹了AngularJS雙向綁定和依賴反轉(zhuǎn)實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-04-04
AngularJs1.x自定義指令獨(dú)立作用域的函數(shù)傳入?yún)?shù)方法
今天小編就為大家分享一篇AngularJs1.x自定義指令獨(dú)立作用域的函數(shù)傳入?yún)?shù)方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10
關(guān)于AngularJs數(shù)據(jù)的本地存儲詳解
本文主要介紹了每一個(gè)獨(dú)立的JS文件或者不同的控制器如何實(shí)現(xiàn)數(shù)據(jù)的共享與交互的方法。具有一定的參考價(jià)值,下面跟著小編一起來看下吧2017-01-01
AngularJS實(shí)現(xiàn)按鈕提示與點(diǎn)擊變色效果
這篇文章給大家介紹了如何利用AngularJS實(shí)現(xiàn)按鈕提示與點(diǎn)擊變色的效果,文中提供了實(shí)例代碼,對大家學(xué)習(xí)AngularJS具有一定的參考借鑒價(jià)值,下面來一起看看吧。2016-09-09
angularJS模態(tài)框$modal實(shí)例代碼
本篇文章主要介紹了angularJS模態(tài)框$modal實(shí)例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-05-05
詳解angularjs中如何實(shí)現(xiàn)控制器和指令之間交互
本篇文章主要介紹了詳解angularjs中如何實(shí)現(xiàn)控制器和指令之間交互,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05

