AngularJS综合用户信息, 表单验证,过滤查询,全选反选,批量删除,修改,添加
来源:互联网 发布:电子日记本软件 编辑:程序博客网 时间:2024/05/14 04:43
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="../AngularJS库/angular.js" ></script>
<script type="text/javascript" src="../AngularJS库/angular-route.js" ></script>
<script>
var app = angular.module("myApp",["ngRoute"]);
//配置config
app.config(["$routeProvider",function($routeProvider){
$routeProvider
.when("/",{
template:""
})
.when("/addUser",{
templateUrl:"addUser.html",
controller:"addUserCtrl"
})
.when("/updatePwd/:name",{
templateUrl:"updatePwd.html",
controller:"updatePwdCtrl"
})
.otherwise({redirectTo:"/"});
}]);
//路由的控制器addUser
app.controller("addUserCtrl",function($scope){
//提交按钮的 各输入框初始值
$scope.addName = "";
$scope.addPwd = "";
$scope.addPwd2 = "";
$scope.addAge = "";
$scope.addSex = "";
//提交按钮的点击事件
$scope.tijiao = function(){
var flag = true;
//拿到各个输入框的值
if($scope.addName==""||$scope.addName==null){
alert("用户名不能为空");
flag = false;
}
if($scope.addPwd==""||$scope.addPwd==null){
alert("密码不能为空");
flag = false;
}
if($scope.addPwd2==""||$scope.addPwd2==null){
alert("确认密码不能为空");
flag = false;
}else{
if($scope.addPwd!=$scope.addPwd2){
alert("两次密码输入不一致");
flag = false;
}
}
if($scope.addAge==""||$scope.addAge==null){
alert("年龄不能为空");
flag = false;
}else{
if($scope.addAge>60||$scope.addAge<10){
alert("年龄必须在10-60之间");
flag = false;
}
}
if($scope.addSex==""||$scope.addSex==null){
alert("性别不能为空");
flag = false;
}
//判断flag 标记
if(flag){
//alert("添加成功");
/* {
name:"张三",
pwd:"123",
age:22,
sex:"男",
state:false
}*/
//创建新的对象
$scope.duixiang ={
name:$scope.addName,
pwd:$scope.addPwd,
age:$scope.addAge,
sex:$scope.addSex,
state:false
};
$scope.userArr.push($scope.duixiang);
}
};
});
//路由的控制器updatePwd
app.controller("updatePwdCtrl",function($scope,$routeParams){
$scope.updateName = $routeParams.name;
$scope.updateOldPwd = "";//填写的旧密码
$scope.updateNewPwd = "";//新密码
$scope.updateQuerenPwd = "";//确认密码
$scope.oldPwd = "";//数组原来的 旧密码
//修改密码的 修改的点击事件
$scope.xiugai = function(){
for(var i=0;i<$scope.userArr.length;i++){
if($scope.updateName==$scope.userArr[i].name){
//拿到当前这个修改的用户名的人,,,取出他的原来的旧密码
$scope.oldPwd = $scope.userArr[i].pwd;
}
}
//alert($scope.oldPwd);
var flag2 = true;
if($scope.updateOldPwd==""||$scope.updateOldPwd==null){
alert("旧密码不能为空");
flag2 = false;
}else{
//判断原来的旧密码是否和现在输入的旧密码一样
if($scope.updateOldPwd==$scope.oldPwd){
}else{
alert("旧密码输入错误");
flag2 = false;
}
}
if($scope.updateNewPwd==""||$scope.updateNewPwd==null){
alert("新密码不能为空");
flag2 = false;
}
if($scope.updateQuerenPwd==""||$scope.updateQuerenPwd==null){
alert("确认密码不能为空");
flag2 = false;
}else{
if($scope.updateQuerenPwd==$scope.updateNewPwd){
}else{
alert("确认密码输入错误");
flag2 = false;
}
}
//判断flag2
if(flag2){
//条件都满足.修改数据
for(var i=0;i<$scope.userArr.length;i++){
if($scope.updateName==$scope.userArr[i].name){
//拿到当前这个修改的用户名的人,,把新密码赋值给原来的 旧密码
$scope.userArr[i].pwd = $scope.updateNewPwd;
}
}
}
}//点击事件的括号
});
app.controller("myCtrl",function($scope,$location){
//定义数组
$scope.userArr = [{
name:"张三",
pwd:"123",
age:22,
sex:"男",
state:false
},{
name:"李四",
pwd:"456",
age:33,
sex:"女",
state:false
},{
name:"王五",
pwd:"789",
age:44,
sex:"男",
state:false
}];
$scope.agechaxun = "--请选择--";
//根据年龄范围查询,,,返回true或false ng-if显示或隐藏
$scope.ageSelect = function(age,agechaxun){
if(agechaxun=="--请选择--"){
//如果什么也没选,就都显示
return true;
}else{
//将agechaxun进行拆分
var ageSplitArr = agechaxun.split("-");
//拿到范围中的最大值与最小值
var ageMin = ageSplitArr[0];
var ageMax = ageSplitArr[1];
if(age>=ageMin&&age<=ageMax){
return true;
}else{
return false;
}
}
};
//根据性别查询的
$scope.sexchaxun = "--请选择--";
$scope.sexSelect = function(sex,sexchaxun){
if(sexchaxun=="--请选择--"){
return true;
}else{
if(sexchaxun==sex){
return true;
}else{
return false;
}
}
};
//全部删除的 点击事件
$scope.deleteAll = function(){
//清空数组
$scope.userArr = [];
};
//默认的全选按钮是false
$scope.checkAll = false;
//点击全选按钮的事件,,需要计数器
var a=0;//计数器
$scope.selectAll = function(){
//判断当前是选中还是没选中
if($scope.checkAll==true){
//遍历数组,全部选中
for(var i=0;i<$scope.userArr.length;i++){
$scope.userArr[i].state=true;
a++;//计数器加到变成数组长度
}
//a=$scope.userArr.length;
}else{
//遍历数组,全部取消选中
for(var i=0;i<$scope.userArr.length;i++){
$scope.userArr[i].state=false;
a--;//计数器 变成0
}
//a=0;
}
};
//点击单个按钮时候 判断是否全选,,反向
$scope.selectOne = function(index){
//index是当前这一行的角标
if($scope.userArr[index].state==true){
//如果当前这一行的 按钮是选中了,就计数器加1
a++;
}else{
a--;
}
//判断a的值,,是否等于数组长度
if(a==$scope.userArr.length){
//让全选按钮也选中
$scope.checkAll = true;
}else{
$scope.checkAll = false;
}
};
//点击批量删除按钮的事件
$scope.piliangDelete = function(){
//判断是否有选中的
if(a==0){
alert("请选择要删除的");
}else{
for(var i=0;i<$scope.userArr.length;i++){
if($scope.userArr[i].state==true){
//如果当前选中了 就删除
$scope.userArr.splice(i,1);
//因为删除了当前这一行,,下标可能会越界,所以i--
i--;
//删除了以后计数器也减
a--;
}
}
//最后变成没选中的状态
$scope.checkAll = false;
}
};
//点击添加按钮的事件,,控制下面的 添加数据的按钮表格 显示隐藏
/*$scope.xianshiyincang = true;//初始 时隐藏
$scope.toggle = function(){
$scope.xianshiyincang = !$scope.xianshiyincang;
};*/
//$scope.xianshiyincang2 = true;//一开始是隐藏的
//$scope.updateName = "";//用户名框的默认值
//修改密码框 点击事件
/* $scope.toggle2 = function(index){
//控制下方表格显示隐藏
$scope.xianshiyincang2 = !$scope.xianshiyincang2;
//修改密码 直接显示用户名 不可更改
$scope.updateName = $scope.userArr[index].name;
};*/
//跳转路由点击事件
$scope.goToUrl = function(url){
$location.path(url);
};
});
</script>
</head>
<body ng-app="myApp" ng-controller="myCtrl">
<center>
<h2>用户信息表</h2>
<input type="text" ng-model="yhmchaxun" size="8" placeholder="用户名查询"/>
年龄:
<select ng-model="agechaxun">
<option>--请选择--</option>
<option>11-20</option>
<option>21-30</option>
<option>31-40</option>
<option>41-50</option>
<option>51-60</option>
</select>
性别:<select ng-model="sexchaxun">
<option>--请选择--</option>
<option>男</option>
<option>女</option>
</select>
<button ng-click="deleteAll()">全部删除</button>
<button ng-click="piliangDelete()">批量删除</button>
<br /><br />
<table border="1" cellpadding="7" cellspacing="1" width="50%">
<thead>
<tr>
<th>
<input type="checkbox" ng-model="checkAll" ng-click="selectAll()"/>全选
</th>
<th>用户名</th>
<th>密码</th>
<th>年龄</th>
<th>性别</th>
<th>操作</th>
</tr>
</thead><!--,sexSelect(x.sex,sexchaxun)-->
<tbody align="center">
<tr ng-repeat="x in userArr | filter:{name:yhmchaxun}" ng-if="ageSelect(x.age,agechaxun)"
ng-show="sexSelect(x.sex,sexchaxun)">
<td>
<input type="checkbox" ng-model="x.state" ng-click="selectOne($index)"/>
</td>
<td>{{x.name}}</td>
<td>{{x.pwd}}</td>
<td>{{x.age}}</td>
<td>{{x.sex}}</td>
<td>
<button ng-click="goToUrl('/updatePwd/'+x.name)">修改密码</button>
</td>
</tr>
</tbody>
</table>
<br />
<button style="width: 130px;font-size: 20px;" ng-click="goToUrl('/addUser')">添加用户</button>
<br /><br />
<!--显示路由的-->
<div ng-view=""></div>
<script type="text/ng-template" id="addUser.html">
<table border="1" cellpadding="10" cellspacing="1">
<tbody>
<tr>
<th>用户名:</th>
<td><input type="text" ng-model="addName"></td>
</tr>
<tr>
<th>密码:</th>
<td><input type="text" ng-model="addPwd"></td>
</tr>
<tr>
<th>确认密码:</th>
<td><input type="text" ng-model="addPwd2"></td>
</tr>
<tr>
<th>年龄:</th>
<td><input type="text" ng-model="addAge"></td>
</tr>
<tr>
<th>性别:</th>
<td><input type="text" ng-model="addSex"></td>
</tr>
<tr align="center">
<td colspan="2">
<input type="button" value="提交" ng-click="tijiao()" />
</td>
</tr>
</tbody>
</table>
</script>
<br />
<!--------------修改密码的--------------->
<script type="text/ng-template" id="updatePwd.html">
<table border="1" cellpadding="10" cellspacing="1">
<tbody>
<tr>
<th>用户名:</th>
<td><input type="text" disabled="disabled" ng-model="updateName"></td>
</tr>
<tr>
<th>旧密码:</th>
<td><input type="text" ng-model="updateOldPwd"></td>
</tr>
<tr>
<th>新密码:</th>
<td><input type="text" ng-model="updateNewPwd"></td>
</tr>
<tr>
<th>确认密码:</th>
<td><input type="text" ng-model="updateQuerenPwd"></td>
</tr>
<tr align="center">
<td colspan="2">
<input type="button" value="修改" ng-click="xiugai()"/>
</td>
</tr>
</tbody>
</table>
</script>
</center>
</body>
</html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="../AngularJS库/angular.js" ></script>
<script type="text/javascript" src="../AngularJS库/angular-route.js" ></script>
<script>
var app = angular.module("myApp",["ngRoute"]);
//配置config
app.config(["$routeProvider",function($routeProvider){
$routeProvider
.when("/",{
template:""
})
.when("/addUser",{
templateUrl:"addUser.html",
controller:"addUserCtrl"
})
.when("/updatePwd/:name",{
templateUrl:"updatePwd.html",
controller:"updatePwdCtrl"
})
.otherwise({redirectTo:"/"});
}]);
//路由的控制器addUser
app.controller("addUserCtrl",function($scope){
//提交按钮的 各输入框初始值
$scope.addName = "";
$scope.addPwd = "";
$scope.addPwd2 = "";
$scope.addAge = "";
$scope.addSex = "";
//提交按钮的点击事件
$scope.tijiao = function(){
var flag = true;
//拿到各个输入框的值
if($scope.addName==""||$scope.addName==null){
alert("用户名不能为空");
flag = false;
}
if($scope.addPwd==""||$scope.addPwd==null){
alert("密码不能为空");
flag = false;
}
if($scope.addPwd2==""||$scope.addPwd2==null){
alert("确认密码不能为空");
flag = false;
}else{
if($scope.addPwd!=$scope.addPwd2){
alert("两次密码输入不一致");
flag = false;
}
}
if($scope.addAge==""||$scope.addAge==null){
alert("年龄不能为空");
flag = false;
}else{
if($scope.addAge>60||$scope.addAge<10){
alert("年龄必须在10-60之间");
flag = false;
}
}
if($scope.addSex==""||$scope.addSex==null){
alert("性别不能为空");
flag = false;
}
//判断flag 标记
if(flag){
//alert("添加成功");
/* {
name:"张三",
pwd:"123",
age:22,
sex:"男",
state:false
}*/
//创建新的对象
$scope.duixiang ={
name:$scope.addName,
pwd:$scope.addPwd,
age:$scope.addAge,
sex:$scope.addSex,
state:false
};
$scope.userArr.push($scope.duixiang);
}
};
});
//路由的控制器updatePwd
app.controller("updatePwdCtrl",function($scope,$routeParams){
$scope.updateName = $routeParams.name;
$scope.updateOldPwd = "";//填写的旧密码
$scope.updateNewPwd = "";//新密码
$scope.updateQuerenPwd = "";//确认密码
$scope.oldPwd = "";//数组原来的 旧密码
//修改密码的 修改的点击事件
$scope.xiugai = function(){
for(var i=0;i<$scope.userArr.length;i++){
if($scope.updateName==$scope.userArr[i].name){
//拿到当前这个修改的用户名的人,,,取出他的原来的旧密码
$scope.oldPwd = $scope.userArr[i].pwd;
}
}
//alert($scope.oldPwd);
var flag2 = true;
if($scope.updateOldPwd==""||$scope.updateOldPwd==null){
alert("旧密码不能为空");
flag2 = false;
}else{
//判断原来的旧密码是否和现在输入的旧密码一样
if($scope.updateOldPwd==$scope.oldPwd){
}else{
alert("旧密码输入错误");
flag2 = false;
}
}
if($scope.updateNewPwd==""||$scope.updateNewPwd==null){
alert("新密码不能为空");
flag2 = false;
}
if($scope.updateQuerenPwd==""||$scope.updateQuerenPwd==null){
alert("确认密码不能为空");
flag2 = false;
}else{
if($scope.updateQuerenPwd==$scope.updateNewPwd){
}else{
alert("确认密码输入错误");
flag2 = false;
}
}
//判断flag2
if(flag2){
//条件都满足.修改数据
for(var i=0;i<$scope.userArr.length;i++){
if($scope.updateName==$scope.userArr[i].name){
//拿到当前这个修改的用户名的人,,把新密码赋值给原来的 旧密码
$scope.userArr[i].pwd = $scope.updateNewPwd;
}
}
}
}//点击事件的括号
});
app.controller("myCtrl",function($scope,$location){
//定义数组
$scope.userArr = [{
name:"张三",
pwd:"123",
age:22,
sex:"男",
state:false
},{
name:"李四",
pwd:"456",
age:33,
sex:"女",
state:false
},{
name:"王五",
pwd:"789",
age:44,
sex:"男",
state:false
}];
$scope.agechaxun = "--请选择--";
//根据年龄范围查询,,,返回true或false ng-if显示或隐藏
$scope.ageSelect = function(age,agechaxun){
if(agechaxun=="--请选择--"){
//如果什么也没选,就都显示
return true;
}else{
//将agechaxun进行拆分
var ageSplitArr = agechaxun.split("-");
//拿到范围中的最大值与最小值
var ageMin = ageSplitArr[0];
var ageMax = ageSplitArr[1];
if(age>=ageMin&&age<=ageMax){
return true;
}else{
return false;
}
}
};
//根据性别查询的
$scope.sexchaxun = "--请选择--";
$scope.sexSelect = function(sex,sexchaxun){
if(sexchaxun=="--请选择--"){
return true;
}else{
if(sexchaxun==sex){
return true;
}else{
return false;
}
}
};
//全部删除的 点击事件
$scope.deleteAll = function(){
//清空数组
$scope.userArr = [];
};
//默认的全选按钮是false
$scope.checkAll = false;
//点击全选按钮的事件,,需要计数器
var a=0;//计数器
$scope.selectAll = function(){
//判断当前是选中还是没选中
if($scope.checkAll==true){
//遍历数组,全部选中
for(var i=0;i<$scope.userArr.length;i++){
$scope.userArr[i].state=true;
a++;//计数器加到变成数组长度
}
//a=$scope.userArr.length;
}else{
//遍历数组,全部取消选中
for(var i=0;i<$scope.userArr.length;i++){
$scope.userArr[i].state=false;
a--;//计数器 变成0
}
//a=0;
}
};
//点击单个按钮时候 判断是否全选,,反向
$scope.selectOne = function(index){
//index是当前这一行的角标
if($scope.userArr[index].state==true){
//如果当前这一行的 按钮是选中了,就计数器加1
a++;
}else{
a--;
}
//判断a的值,,是否等于数组长度
if(a==$scope.userArr.length){
//让全选按钮也选中
$scope.checkAll = true;
}else{
$scope.checkAll = false;
}
};
//点击批量删除按钮的事件
$scope.piliangDelete = function(){
//判断是否有选中的
if(a==0){
alert("请选择要删除的");
}else{
for(var i=0;i<$scope.userArr.length;i++){
if($scope.userArr[i].state==true){
//如果当前选中了 就删除
$scope.userArr.splice(i,1);
//因为删除了当前这一行,,下标可能会越界,所以i--
i--;
//删除了以后计数器也减
a--;
}
}
//最后变成没选中的状态
$scope.checkAll = false;
}
};
//点击添加按钮的事件,,控制下面的 添加数据的按钮表格 显示隐藏
/*$scope.xianshiyincang = true;//初始 时隐藏
$scope.toggle = function(){
$scope.xianshiyincang = !$scope.xianshiyincang;
};*/
//$scope.xianshiyincang2 = true;//一开始是隐藏的
//$scope.updateName = "";//用户名框的默认值
//修改密码框 点击事件
/* $scope.toggle2 = function(index){
//控制下方表格显示隐藏
$scope.xianshiyincang2 = !$scope.xianshiyincang2;
//修改密码 直接显示用户名 不可更改
$scope.updateName = $scope.userArr[index].name;
};*/
//跳转路由点击事件
$scope.goToUrl = function(url){
$location.path(url);
};
});
</script>
</head>
<body ng-app="myApp" ng-controller="myCtrl">
<center>
<h2>用户信息表</h2>
<input type="text" ng-model="yhmchaxun" size="8" placeholder="用户名查询"/>
年龄:
<select ng-model="agechaxun">
<option>--请选择--</option>
<option>11-20</option>
<option>21-30</option>
<option>31-40</option>
<option>41-50</option>
<option>51-60</option>
</select>
性别:<select ng-model="sexchaxun">
<option>--请选择--</option>
<option>男</option>
<option>女</option>
</select>
<button ng-click="deleteAll()">全部删除</button>
<button ng-click="piliangDelete()">批量删除</button>
<br /><br />
<table border="1" cellpadding="7" cellspacing="1" width="50%">
<thead>
<tr>
<th>
<input type="checkbox" ng-model="checkAll" ng-click="selectAll()"/>全选
</th>
<th>用户名</th>
<th>密码</th>
<th>年龄</th>
<th>性别</th>
<th>操作</th>
</tr>
</thead><!--,sexSelect(x.sex,sexchaxun)-->
<tbody align="center">
<tr ng-repeat="x in userArr | filter:{name:yhmchaxun}" ng-if="ageSelect(x.age,agechaxun)"
ng-show="sexSelect(x.sex,sexchaxun)">
<td>
<input type="checkbox" ng-model="x.state" ng-click="selectOne($index)"/>
</td>
<td>{{x.name}}</td>
<td>{{x.pwd}}</td>
<td>{{x.age}}</td>
<td>{{x.sex}}</td>
<td>
<button ng-click="goToUrl('/updatePwd/'+x.name)">修改密码</button>
</td>
</tr>
</tbody>
</table>
<br />
<button style="width: 130px;font-size: 20px;" ng-click="goToUrl('/addUser')">添加用户</button>
<br /><br />
<!--显示路由的-->
<div ng-view=""></div>
<script type="text/ng-template" id="addUser.html">
<table border="1" cellpadding="10" cellspacing="1">
<tbody>
<tr>
<th>用户名:</th>
<td><input type="text" ng-model="addName"></td>
</tr>
<tr>
<th>密码:</th>
<td><input type="text" ng-model="addPwd"></td>
</tr>
<tr>
<th>确认密码:</th>
<td><input type="text" ng-model="addPwd2"></td>
</tr>
<tr>
<th>年龄:</th>
<td><input type="text" ng-model="addAge"></td>
</tr>
<tr>
<th>性别:</th>
<td><input type="text" ng-model="addSex"></td>
</tr>
<tr align="center">
<td colspan="2">
<input type="button" value="提交" ng-click="tijiao()" />
</td>
</tr>
</tbody>
</table>
</script>
<br />
<!--------------修改密码的--------------->
<script type="text/ng-template" id="updatePwd.html">
<table border="1" cellpadding="10" cellspacing="1">
<tbody>
<tr>
<th>用户名:</th>
<td><input type="text" disabled="disabled" ng-model="updateName"></td>
</tr>
<tr>
<th>旧密码:</th>
<td><input type="text" ng-model="updateOldPwd"></td>
</tr>
<tr>
<th>新密码:</th>
<td><input type="text" ng-model="updateNewPwd"></td>
</tr>
<tr>
<th>确认密码:</th>
<td><input type="text" ng-model="updateQuerenPwd"></td>
</tr>
<tr align="center">
<td colspan="2">
<input type="button" value="修改" ng-click="xiugai()"/>
</td>
</tr>
</tbody>
</table>
</script>
</center>
</body>
</html>
阅读全文
0 0
- AngularJS综合用户信息, 表单验证,过滤查询,全选反选,批量删除,修改,添加
- AngularJS 查询、全选、反选、全部删除、批量删除、添加、修改
- AngularJS购物车实现添加用户,修改用户,全选反选,批量删除
- AngularJs实现添加,批量删除,全选,反选等功能
- AngularJS 查询、添加、删除、全选、反选、点击排序
- 表单验证+二级联动+添加+全选/反选+删除
- 路由添加、修改、批量&全部删除&全选反选
- Angularjs全选/反选/表单验证
- AngularJS商品新增订单批量发货删除排序全选反选日期过滤
- AngularJS表格数据全选反选批量删除,删除的数据添加到数组里
- Angularjs 全选、反选、勾选删除、批量删除
- angular js 综合 循环死数据 全选/反选 过滤 批量删除 提交数据(判断空值) 排序
- 购物车修改删除 全选反选批量删除查询排序
- angularjs表格批量删除和全选反选
- AngularJs多选框表格全选反选批量删除
- 用户表的添加/删除/全选/反选/批量删除
- jQuery添加删除,全选反选,批量删除
- 模糊查询,,排序,,隔行变色,,全选,反选,批量删除,修改
- Ubuntu安装Google Chrome,报NSS version的错误
- 进程间通信
- 3.1 分析并写出下列程序的运行结果。
- Xcode报错undefined xxx
- 筛法判素数(大数)
- AngularJS综合用户信息, 表单验证,过滤查询,全选反选,批量删除,修改,添加
- Android三种姿势带你玩转360度全景图功能
- hdu 1811 Rank of Tetris(拓扑排序+并查集)
- HDU 5919 Sequence II
- Angularjs+路由表格的增删改查综合
- python设计模式之设计模式简介
- hadoop概念-MapReduce数据流
- 正向代理和Nginx反向代理配置介绍
- android studio 日期选择DatePickerDialog取值