angular 全选 全删 修改 排序

来源:互联网 发布:什么软件可以看轻小说 编辑:程序博客网 时间:2024/06/05 02:46

这里写图片描述


<head>    <meta charset="utf-8" />    <title></title></head><script src="js/jquery-3.2.1.min.js" type="text/javascript" charset="utf-8"></script><script src="js/angular.min.js" type="text/javascript" charset="utf-8"></script><style type="text/css">    .tab1 {        width: 500px;    }    .tab2 {        margin-top: 20px;        width: 700px;    }    fieldset {        margin-top: 20px;        width: 700px;    }</style><body ng-app="myapp" ng-controller="mycontroller">    <div class="div1">        <h5>管理信息</h5>        <table class="tab1">            <tr>                <td> <input type="button" value="批量删除" ng-click="pldele()" /></td>                <td>用户名:<input type="text" ng-keydown="huiche($event)" ng-model="name_1" /></td>                <td>                    <select ng-change="xl()" ng-model="xlname" ng-init="xlname=ags[0]">                        <option ng-repeat="ag in ags">{{ag}}</option>                    </select>                </td>                <td><input type="button" value="添加" ng-click="add()" /></td>            </tr>        </table>        <table border="1px" cellspacing="0" cellpadding="0" class="tab2">            <tr>                <td><input type="checkbox" ng-click="qu()" ng-model="fla" /></td>                <td>姓名</td>                <td>年龄</td>                <td>城市</td>                <td>录入日期</td>                <td>操作</td>            </tr>            <tr ng-repeat="emp in emps">                <td><input type="checkbox" ng-checked="dx1" ng-model="dx" ng-click="ck($index)" /></td>                <td>{{emp.ename}}</td>                <td>{{emp.eage}}</td>                <td>{{emp.esite}}</td>                <td>{{emp.edate|date:"yyyy-MM-dd HH-mm-ss"}}</td>                <td>                    <input type="button" value="修改" ng-click="xiugai($index)" ng-model="i" />                    <input type="button" value="删除" />                </td>            </tr>        </table>        <fieldset ng-show="sos">            <legend>用户添加</legend>            姓名<input type="text" ng-model="name_2" /> <br/> 年龄            <input type="text" ng-model="age_2" /> <br/> 城市            <input type="text" ng-model="site_2" /> <br/> 录入日期            <input type="date" ng-model="date_2" /> <br/>            <input type="button" value="保存" ng-click="bz()" ng-model="i" />        </fieldset>    </div></body><script type="text/javascript">    var mo = angular.module("myapp", []);    mo.controller("mycontroller", function($scope) {        $scope.ags = ["年龄正序", "年龄倒序"];        var empss = [{                "ename": "张三",                "eage": "20",                "esite": "北京",                "edate": new Date(),                "flas": false            }, {                "ename": "李四",                "eage": "25",                "esite": "北京",                "edate": new Date(),                "flas": false            }        ]        $scope.emps = empss;        //每行的checkbox选择状态要改变数组的值        $scope.ck = function($index) {            $scope.emps[$index].dx = !$scope.emps[$index].dx;        };        //批量删除        $scope.pldele = function() {            //删除之后数组会改变所以要反着遍历            for(var i = $scope.emps.length - 1; i >= 0; i--) {                var g = $scope.emps[i];                if(g.dx) {                    $scope.emps.splice(i, 1);                }            }        };        //模糊查询        $scope.huiche = function($event) {            var key = $event.keyCode;            var enames = [];            var name1 = $scope.name_1;            if(key == 13) {                for(var i = 0; i < empss.length; i++) {                    if(empss[i].ename.indexOf(name1) != -1) {                        enames.push(empss[i]);                    }                }                $scope.emps = enames;            }        }        //排序        $scope.xl = function() {            var xlnames = $scope.xlname;            alert(xlnames)            if(xlnames == "年龄正序") {                $scope.emps.sort(function(a, b) {                    return a.eage - b.eage;                })            } else {                $scope.emps.sort(function(a, b) {                    return b.eage - a.eage;                })            }        }        //点击添加显示点加的div输入框        $scope.add = function() {            $scope.sos = true;        }        //全选/全不选        $scope.qu = function() {            //删除之后数组会改变所以要反着遍历            for(var i = $scope.emps.length - 1; i >= 0; i--) {                $scope.emps[i].flas = $scope.fla;            }            //通过获取ng-model的值给ng-checked复制            $scope.dx = $scope.fla;            //批量删除            $scope.pldele = function() {                //删除之后数组会改变所以要反着遍历                for(var i = $scope.emps.length - 1; i >= 0; i--) {                    var g = $scope.emps[i].flas;                    if(g) {                        $scope.emps.splice(i, 1);                    }                }                //全选框赋我faalse                $scope.fla = false;            };        }        $scope.xiugai = function($index) {            $scope.sos = true;            var nn = $scope.emps[$index].ename;            var ee = $scope.emps[$index].eage;            var ss = $scope.emps[$index].esite;            var dd = $scope.emps[$index].edate;            var ff = $scope.emps[$index].flas;            //$scope.i会赋值下标            $scope.i = $index;            alert($scope.i)            $scope.name_2 = nn;            $scope.age_2 = ee;            $scope.site_2 = ss;            $scope.date_2 = dd;        }        $scope.bz = function() {            alert($scope.i)            //把添加和修改设同一个值   点击修改时$scope.i会赋值下标             //点击添加时$scope.i 没有被赋值所以是undefined            //根据她来使用同一个布局            if($scope.i == undefined) {                //    添加                var empes = {                    "ename": $scope.name_2,                    "eage": $scope.age_2,                    "esite": $scope.site_2,                    "edate": $scope.date_2,                    "flas": false                }                empss.push(empes);                $scope.emps = empss;                //添加完成隐藏div                $scope.sos = false;                $scope.name_2 = "";                $scope.age_2 = "";                $scope.site_2 = "";                $scope.date_2 = "";            } else {                //修改                var newpenson = {                    "ename": $scope.name_2,                    "eage": $scope.age_2,                    "esite": $scope.site_2,                    "edate": $scope.date_2,                    "flas": false                }                empss.splice($scope.i, 1, newpenson);                $scope.emps = empss;                $scope.sos = false;                //修改后从新给 $scope.i赋值undefined                $scope.i = undefined            }        }    })</script>