AngularJS实现表格的增删改查(仅限前端)


Posted in Javascript onJuly 04, 2017

用AngularJS实现对表格的增删改查(仅限前端),具体代码:

AngularJS实现表格的增删改查(仅限前端)

<!DOCTYPE html>
<html>
<head lang="en">
 <meta charset="UTF-8">
 <title>实现表格的增删改查</title>
 
 <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
 <meta http-equiv="description" content="this is my page">
 <meta http-equiv="content-type" content="text/html; charset=UTF-8">
 <link rel="stylesheet" href="//apps.bdimg.com/libs/bootstrap/3.3.4/css/bootstrap.min.css" >
 <link rel="stylesheet" href="css/font-awesome.css" type="text/css"></link>
 <link rel="stylesheet" href="css/ui.css" type="text/css"></link>
 <link rel="stylesheet" href="css/form.css" type="text/css"></link>
 
 <script type="text/javascript" src="js/jquery-1.11.1.js"></script>
 <script type="text/javascript" src="js/bootstrap.js"></script>
 <script src="http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script>
 <style>
 .add{
  position:relative;
  top:-40px;
  left:1000px;
 }
 </style>
 </head>
 
 <body>
 <div ng-app="myapp" ng-controller="myCtrl">
 <h2>管理信息:</h2><br>
 <p>搜索:<input type="text" placeholder="请输入关键字" ng-model="test"></p>
 <button class="btn btn-primary add" ng-click="add()">添加</button>
 <table class="table table-bordered" style="text-align: center">
  <thead>
  <tr>
   <td>姓名</td>
   <td>年龄</td>
   <td>城市</td>
   <td>操作</td>
  </tr>
  </thead>
  <tbody>
  <tr ng-repeat="x in texts | filter:test">
   <td>{{x.name}}</td>
   <td>{{x.age}}</td>
   <td>{{x.city}}</td>
   <td>
   <button class="btn btn-warning"" ng-click="update($index)">修改</button> 
   <button class="btn btn-danger" ng-click="del($index)">删除</button>
   </td>
  </tr>
  </tbody>
 </table>
 
 <!-- 添加信息 -->
 <div class="modal" id="modal-1">

  <div class="modal-dialog">

   <div class="modal-content">

   <div class="modal-header">
    <button class="close" data-dismiss="modal">
    <span class="glyphicon glyphicon-remove"></span>
    </button>
    <h3 class="modal-title">添加信息</h3>
   </div>

   <div class="modal-body">
    <div>姓名:</div>
    <input ng-model="newName" type="text">
    <div>年龄:</div>
    <input ng-model="newAge" type="text">
    <div>城市:</div>
    <input ng-model="newCity" type="text">
   </div>

   <div class="modal-footer">
    <button class="btn btn-default" data-dismiss="modal">关闭</button>
    <button class="btn btn-success" ng-click="save()">保存</button>
   </div>

   </div>

  </div>

 </div>
 
 <!-- 修改信息 -->
 <div class="modal" id="modal-2">

  <div class="modal-dialog">

   <div class="modal-content">

   <div class="modal-header">
    <button class="close" data-dismiss="modal">
    <span class="glyphicon glyphicon-remove"></span>
    </button>
    <h3 class="modal-title">修改信息</h3>
   </div>

   <div class="modal-body">
    <div>姓名:</div>
    <input ng-model="prod.name" value="{{prod.name}}" type="text">
    <div>年龄:</div>
    <input ng-model="prod.age" value="{{prod.age}}" type="text">
    <div>城市:</div>
    <input ng-model="prod.city" value="{{prod.city}}" type="text">
   </div>

   <div class="modal-footer">
    <button class="btn btn-default" data-dismiss="modal">关闭</button>
    <button class="btn btn-success" ng-click="ensure()">确定</button>
   </div>

   </div>

  </div>

  </div>
 </div>
 
 <script type="text/javascript">
 var app = angular.module('myapp',[]);
 app.controller('myCtrl',function($scope){
  //定义表格内容
  $scope.texts = [
  {name:"张三",age:"23",city:"海南"},
  {name:"李四",age:"25",city:"香港"},
  {name:"王五",age:"25",city:"济南"},
  {name:"刘六",age:"22",city:"济南"},
  {name:"李七",age:"35",city:"烟台"},
  {name:"张八",age:"32",city:"聊城"},
  {name:"吕九",age:"30",city:"盘锦"}
  ];
  //定义一个空对象,用于保存和修改数据时临时存储
  $scope.prod = {};
  //定义一个单击删除按钮时触发的事件,用于删除选中行
  $scope.del = function ($index) {
  if($index>=0){
   if(confirm("是否删除"+$scope.texts[$index].name) ){
   $scope.texts.splice($index,1);
   }
  }
  };
  
  //定义一个全局变量idx,用于存储选中行的索引,方便执行保存操作。idx取值为0、1、、、、都有用,所以暂取值为-1;
  var idx = -1;
  //定义一个点击添加按钮时触发的事件,用于新增数据
  $scope.add = function(){
  //显示bootstrap中的模块窗口
  $('#modal-1').modal('show');
  
  };
  //定义一个点击保存按钮时触发的事件
  $scope.save = function(){
  //将添加的值赋给数组
  $scope.texts.name = $scope.newName;
  $scope.texts.age = $scope.newAge;
  $scope.texts.city = $scope.newCity;
  $scope.texts.push({name:$scope.newName,age:$scope.newAge,city:$scope.newCity});
  //关闭模块窗口
  $('#modal-1').modal('hide');
  };
  
  
  //定义一个点击修改按钮时出发的事件,用于修改数据
  $scope.update = function($index){
  //显示bootstrap中的模块窗口
  $('#modal-2').modal('show');

  //将选中行的数据绑定到临时对象prod中,在下面的模态窗口中展示出来
  $scope.prod.name = $scope.texts[$index].name;
  $scope.prod.age = $scope.texts[$index].age;
  $scope.prod.city = $scope.texts[$index].city;
  //选中行的索引赋值给全局变量idx
  idx = $index;
  };

  //定义一个点击确定按钮时触发的事件,
  $scope.ensure = function () {
  //将修改后的值赋给数组
  $scope.texts[idx].name = $scope.prod.name;
  $scope.texts[idx].age = $scope.prod.age;
  $scope.texts[idx].city = $scope.prod.city;
  //关闭模块窗口
  $('#modal-2').modal('hide');
  };
  
  
  
 });
 </script>
 </body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
疯掉了,尽然有js写的操作系统
Apr 23 Javascript
中文输入法不触发onkeyup事件的解决办法
Jul 09 Javascript
用循环或if语句从json中取数据示例
Aug 18 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记6)
Dec 20 Javascript
浅谈vue的踩坑路
Aug 31 Javascript
解决vue js IOS H5focus无法自动弹出键盘的问题
Aug 30 Javascript
Vue开发Html5微信公众号的步骤
Apr 11 Javascript
Node.js 路由的实现方法
Jun 05 Javascript
解决ele ui 表格表头太长问题的实现
Nov 13 Javascript
基于JavaScript实现十五拼图代码实例
Apr 26 Javascript
vue实现编辑器键盘抬起时内容跟随光标距顶位置向上滚动效果
May 28 Javascript
jQuery实现雪花飘落效果
Aug 02 jQuery
js CSS3实现卡牌旋转切换效果
Jul 04 #Javascript
JavaScript中三个等号和两个等号你了解多少
Jul 04 #Javascript
原生js实现简单的链式操作
Jul 04 #Javascript
详解用vue编写弹出框组件
Jul 04 #Javascript
使用vue构建一个上传图片表单
Jul 04 #Javascript
vue-resource 拦截器(interceptor)的使用详解
Jul 04 #Javascript
JavaScript在控件上添加倒计时功能的实现代码
Jul 04 #Javascript
You might like
PHP 根据IP地址控制访问的代码
2010/04/22 PHP
Yii清理缓存的方法
2016/01/06 PHP
php使用curl并发减少后端访问时间的方法分析
2016/05/12 PHP
PHP实现与java 通信的插件使用教程
2019/08/11 PHP
javascript 极速 隐藏/显示万行表格列只需 60毫秒
2009/03/28 Javascript
Jquery异步请求数据实例代码
2011/12/28 Javascript
对jQuery的事件绑定的一些思考(补充)
2013/04/20 Javascript
js实现div闪烁原理及实现代码
2014/06/24 Javascript
JavaScript设计模式之工厂方法模式介绍
2014/12/28 Javascript
jQuery实现的淡入淡出二级菜单效果代码
2015/09/15 Javascript
基于JavaScript实现图片点击弹出窗口而不是保存
2016/02/06 Javascript
有关suggest快速删除后仍然出现下拉列表的bug问题
2016/12/02 Javascript
完美的js图片轮换效果
2017/02/05 Javascript
canvas压缩图片转换成base64格式输出文件流
2017/03/09 Javascript
Javascript封装id、class与元素选择器方法示例
2017/03/13 Javascript
layui中的switch开关实现方法
2019/09/03 Javascript
webpack3升级到webpack4遇到问题总结
2019/09/30 Javascript
ES6 Promise对象概念及用法实例详解
2019/10/15 Javascript
JavaScript实现栈结构Stack过程详解
2020/03/07 Javascript
python基础教程之面向对象的一些概念
2014/08/29 Python
python服务器与android客户端socket通信实例
2014/11/12 Python
python持久性管理pickle模块详细介绍
2015/02/18 Python
Python字符串匹配算法KMP实例
2015/07/18 Python
Python新手们容易犯的几个错误总结
2017/04/01 Python
numpy:找到指定元素的索引示例
2019/11/26 Python
python如何求圆的面积
2020/07/01 Python
HTML5中meta属性的使用方法
2016/02/29 HTML / CSS
美国最大的在线水培用品商店:GrowersHouse.com
2018/08/14 全球购物
秦兵马俑教学反思
2014/02/07 职场文书
业务员简历自我评价
2014/03/06 职场文书
怎样填写就业意向
2014/04/02 职场文书
大型演出策划方案
2014/05/28 职场文书
2019入党申请书格式
2019/06/25 职场文书
Python使用sql语句对mysql数据库多条件模糊查询的思路详解
2021/04/12 Python
Redis延迟队列和分布式延迟队列的简答实现
2021/05/13 Redis
Node与Python 双向通信的实现代码
2021/07/16 Javascript