<!DOCTYPE html >
<html lang="en" ng-app="app">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.cc{
border: 1px solid #ccc;
border-collapse: collapse;
}
.cc td{
text-align: center;
padding: 6px 6px;
border: 1px solid #ccc;
height: 20px;
}
</style>
</head>
<body ng-controller="siteCtrl">
<table border="1" cellpadding="0" cellspacing="0" class="cc" >
<tr>
<td>組</td>
<td>組下項</td>
</tr>
<tr ng-repeat="item1 in dataList">
<td>
<input type="checkbox" ng-model="item1.ProState" ng-click="selectItem(item1.ProState,item1.ProName)">
{{item1.ProList}}
</td>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr ng-repeat="item in item1.data">
<td><input type="checkbox" ng-model="item.state" name="" ng-checked="item.state"></td>
<td>{{item.Name}}</td>
<td>{{item.Url}}</td>
<td>{{item.Email}}</td>
<td><button ng-click="add(item.ProName,$index)">增加</button></td>
</tr>
</table>
</td>
</tr>
</table>
<!--<script src="http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script>-->
<script type="text/javascript" src="js/angular.min.js"></script>
<script>
var app = angular.module('app', []);
app.controller('siteCtrl',function ($scope,$http) {
$scope.dataList =[
{
"ProList":"a1",
"ProName":"g1",
"ProState":false,
"data" :[
{
"Name":"john1",
"Url":"ImJohn.cn",
"Email":"go",
"state":true,
"ProName":"g1"
},
{
"Name":"john1",
"Url":"ImJohn.cn",
"Email":"go",
"state":false,
"ProName":"g1"
},
{
"Name":"john1",
"Url":"ImJohn.cn",
"Email":"go",
"state":false,
"ProName":"g1"
}
]
},
{
"ProList":"a2",
"ProName":"g2",
"ProState":false,
"data":[
{
"Name":"john2",
"Url":"ImJohn.cn",
"Email":"go",
"state":false,
"ProName":"g2"
},
{
"Name":"john2",
"Url":"ImJohn.cn",
"Email":"go",
"state":false,
"ProName":"g2"
},
{
"Name":"john2",
"Url":"ImJohn.cn",
"Email":"go",
"state":false,
"ProName":"g2"
}
]
},
{
"ProList":"a3",
"ProName":"g3",
"ProState":false,
"data":[
{
"Name":"john3",
"Url":"ImJohn.cn",
"Email":"go",
"state":false,
"ProName":"g3"
},
{
"Name":"john3",
"Url":"ImJohn.cn",
"Email":"go",
"state":false,
"ProName":"g3"
},
{
"Name":"john3",
"Url":"ImJohn.cn",
"Email":"go",
"state":false,
"ProName":"g3"
}
]
}
]
$scope.selectItem=function (vf,Pro) {
if(!vf){
$scope.dataList.map(function (item) {
$scope.idata =item.data;
$scope.idata.map(function(tem){
if(tem.ProName==Pro){
tem.state=true;
}
return item;
});
});
}else{
$scope.dataList.map(function (item) {
$scope.idata =item.data;
$scope.idata.map(function(tem){
if(tem.ProName==Pro){
tem.state=false;
}
return item;
});
});
}
};
$scope.add=function(item,index){
var map = {
"Name":item.Name,
"Url":item.Url,
"Email":item.Email,
"state":true,
"ProName":item.ProName
};
$scope.dataList.map(function (item3) {
$scope.idata =item3.data;
$scope.idata.map(function(tem){
if(tem.ProName==item){
$scope.tdata =[];
$scope.tdata.push(tem)
}
$scope.tdata.splice(index+1,0,map);
item = $scope.tdata;
return item;
});
});
}
})
</script>
</body>
</html>
組下項 全部選中時 組選中 組下項全不選 組不選 這個用state怎么做 add函數(shù) 添加行怎么直接拿item當前項下的數(shù)據(jù)添加
看看這樣行嗎
<!DOCTYPE html >
<html lang="en" ng-app="app">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.cc {
border: 1px solid #ccc;
border-collapse: collapse;
}
.cc td {
text-align: center;
padding: 6px 6px;
border: 1px solid #ccc;
height: 20px;
}
</style>
</head>
<body ng-controller="siteCtrl">
<table border="1" cellpadding="0" cellspacing="0" class="cc">
<tr>
<td>組</td>
<td>組下項</td>
</tr>
<tr ng-repeat="item1 in dataList">
<td>
<input type="checkbox" ng-model="item1.ProState" ng-change="selectItem(item1)"> {{item1.ProList}}
</td>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr ng-repeat="item in item1.data">
<td>
<input type="checkbox" ng-model="item.state" name="" ng-checked="item.state" ng-change="change(item1)">
</td>
<td>{{item.Name}}</td>
<td>{{item.Url}}</td>
<td>{{item.Email}}</td>
<td>
<button ng-click="add(item, item1.data)">增加</button>
</td>
</tr>
</table>
</td>
</tr>
</table>
<script src="http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script>
<!-- <script type="text/javascript" src="js/angular.min.js"></script> -->
<script>
var app = angular.module('app', []);
app.controller('siteCtrl', function ($scope, $http) {
$scope.dataList = [
{
"ProList": "a1",
"ProName": "g1",
"ProState": false,
"data": [
{
"Name": "john1",
"Url": "ImJohn.cn",
"Email": "go",
"state": true,
"ProName": "g1"
},
{
"Name": "john1",
"Url": "ImJohn.cn",
"Email": "go",
"state": false,
"ProName": "g1"
},
{
"Name": "john1",
"Url": "ImJohn.cn",
"Email": "go",
"state": false,
"ProName": "g1"
}
]
},
{
"ProList": "a2",
"ProName": "g2",
"ProState": false,
"data": [
{
"Name": "john2",
"Url": "ImJohn.cn",
"Email": "go",
"state": false,
"ProName": "g2"
},
{
"Name": "john2",
"Url": "ImJohn.cn",
"Email": "go",
"state": false,
"ProName": "g2"
},
{
"Name": "john2",
"Url": "ImJohn.cn",
"Email": "go",
"state": false,
"ProName": "g2"
}
]
},
{
"ProList": "a3",
"ProName": "g3",
"ProState": false,
"data": [
{
"Name": "john3",
"Url": "ImJohn.cn",
"Email": "go",
"state": false,
"ProName": "g3"
},
{
"Name": "john3",
"Url": "ImJohn.cn",
"Email": "go",
"state": false,
"ProName": "g3"
},
{
"Name": "john3",
"Url": "ImJohn.cn",
"Email": "go",
"state": false,
"ProName": "g3"
}
]
}
]
$scope.change = function(pro) {
console.log(pro);
pro.ProState = pro.data.every( person => person.state)
}
$scope.selectItem = function (item) {
item.data.forEach(function(person) {
person.state = item.ProState;
})
};
$scope.add = function (item, datas) {
var newItem = angular.extend({}, item);
datas.push(newItem);
}
})
</script>
</body>
</html>
<!DOCTYPE html >
<html lang="en" ng-app="app">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.cc{
border: 1px solid #ccc;
border-collapse: collapse;
}
.cc td{
text-align: center;
padding: 6px 6px;
border: 1px solid #ccc;
height: 20px;
}
</style>
</head>
<body ng-controller="siteCtrl">
<table border="1" cellpadding="0" cellspacing="0" class="cc" >
<tr>
<td>組</td>
<td>組下項</td>
</tr>
<tr ng-repeat="item1 in dataList">
<td>
<input type="checkbox" ng-model="item1.ProState" ng-click="selectItem(item1)">
{{item1.ProList}}
</td>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr ng-repeat="item in item1.data track by $index">
<td><input type="checkbox" ng-model="item.state" name="state" ng-change="select(item1)" ng-checked="item.state"></td>
<td>{{item.Name}}</td>
<td>{{item.Url}}</td>
<td>{{item.Email}}</td>
<td><button ng-click="add(item1,$index)">增加</button></td>
</tr>
</table>
</td>
</tr>
</table>
<!--<script src="http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script>-->
<script type="text/javascript" src="js/angular.min.js"></script>
<script>
var app = angular.module('app', []);
app.controller('siteCtrl',function ($scope,$http) {
$scope.dataList =[
{
"ProList":"a1",
"ProName":"g1",
"ProState":false,
"data" :[
{
"Name":"johna11",
"Url":"ImJohn.cn",
"Email":"go",
"state":true,
"ProName":"g1"
},
{
"Name":"johna12",
"Url":"ImJohn.cn",
"Email":"go",
"state":false,
"ProName":"g1"
},
{
"Name":"johna13",
"Url":"ImJohn.cn",
"Email":"go",
"state":false,
"ProName":"g1"
}
]
},
{
"ProList":"a2",
"ProName":"g2",
"ProState":false,
"data":[
{
"Name":"johna21",
"Url":"ImJohn.cn",
"Email":"go",
"state":false,
"ProName":"g2"
},
{
"Name":"johna22",
"Url":"ImJohn.cn",
"Email":"go",
"state":false,
"ProName":"g2"
},
{
"Name":"johna23",
"Url":"ImJohn.cn",
"Email":"go",
"state":false,
"ProName":"g2"
}
]
},
{
"ProList":"a3",
"ProName":"g3",
"ProState":false,
"data":[
{
"Name":"johna31",
"Url":"ImJohn.cn",
"Email":"go",
"state":false,
"ProName":"g3"
},
{
"Name":"johna32",
"Url":"ImJohn.cn",
"Email":"go",
"state":false,
"ProName":"g3"
},
{
"Name":"johna33",
"Url":"ImJohn.cn",
"Email":"go",
"state":false,
"ProName":"g3"
}
]
}
];
angular.extend($scope,{
selectItem: function (vf) {
console.log(vf.ProState);
angular.forEach(vf.data, function (data) {
data.state = !vf.ProState;
})
},
select: function (items) {
items.ProState = items.data.every(function (item) {
return item.state
})
},
add: function (items,index) {
console.log(items.data[index]);
items.data.splice(index+1,0,items.data[index])
}
});
});
</script>
</body>
</html>
盡量別寫循環(huán)套循環(huán),費運行時間~
北大青鳥APTECH成立于1999年。依托北京大學優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
北大青鳥中博軟件學院創(chuàng)立于2003年,作為華東區(qū)著名互聯(lián)網(wǎng)學院和江蘇省首批服務(wù)外包人才培訓基地,中博成功培育了近30000名軟件工程師走向高薪崗位,合作企業(yè)超4
中公教育集團創(chuàng)建于1999年,經(jīng)過二十年潛心發(fā)展,已由一家北大畢業(yè)生自主創(chuàng)業(yè)的信息技術(shù)與教育服務(wù)機構(gòu),發(fā)展為教育服務(wù)業(yè)的綜合性企業(yè)集團,成為集合面授教學培訓、網(wǎng)
達內(nèi)教育集團成立于2002年,是一家由留學海歸創(chuàng)辦的高端職業(yè)教育培訓機構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
曾工作于聯(lián)想擔任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責任公司從事總經(jīng)理職務(wù)負責iOS教學及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術(shù)功底深厚。 授課風格 授課風格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。