angularjs学习笔记一之显示数据,修改数据

 1 <!doctype html>
 2 <html>
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5 <script type="text/javascript" src="js/angular.min.js"></script>
 6 <link rel="stylesheet" href="css/bootstrap.min.css">
 7 </head>
 8 <body ng-app="myApp" ng-controller="userCtrl">
 9 <div class="container">
10   <h3>Users</h3>
11   <table class="table table-striped">
12     <thead>
13       <tr>
14         <th>编辑</th>
15         <th>名</th>
16         <th>姓</th>
17         <td>密码</td>
18       </tr>
19     </thead>
20     <tbody>
21       <tr ng-repeat="user in users">
22         <td><button class="btn" ng-click="editUser(user.id)"> <span class="glyphicon glyphicon-pencil"></span>编辑 </button></td>
23         <td>{{ user.fName }}</td>
24         <td>{{ user.lName }}</td>
25       </tr>
26     </tbody>
27   </table>
28   <hr>
29   <button class="btn btn-success" ng-click="editUser(‘new‘)"> <span class="glyphicon glyphicon-user"></span>创建新用户 </button>
30   <hr>
31   <h3 ng-show="edit">创建新用户:</h3>
32   <h3 ng-hide="edit">编辑用户:</h3>
33   <form class="form-horizontal">
34     <input type="hidden" ng-model="fuserid" value="" >
35     <div class="form-group">
36       <label class="col-sm-2 control-label">名:</label>
37       <div class="col-sm-10">
38         <input type="text" ng-model="fName" ng-disabled="!edit" placeholder="名">
39       </div>
40     </div>
41     <div class="form-group">
42       <label class="col-sm-2 control-label">姓:</label>
43       <div class="col-sm-10">
44         <input type="text" ng-model="lName" ng-disabled="!edit" placeholder="姓">
45       </div>
46     </div>
47     <div class="form-group">
48       <label class="col-sm-2 control-label">密码:</label>
49       <div class="col-sm-10">
50         <input type="password" ng-model="passw1" placeholder="密码">
51       </div>
52     </div>
53     <div class="form-group">
54       <label class="col-sm-2 control-label">重复密码:</label>
55       <div class="col-sm-10">
56         <input type="password" ng-model="passw2" placeholder="重复密码">
57       </div>
58     </div>
59   </form>
60   <hr>
61   <button class="btn btn-success" ng-click="saveUser(fuserid)"> <span class="glyphicon glyphicon-save"></span>保存修改 </button>
62 </div>
63 <script src="js/ngjs/myUser.js"></script>
64 </body>
65 </html>
 1 angular.module(‘myApp‘, []).controller(‘userCtrl‘, function($scope) {
 2 $scope.fName = ‘‘;
 3 $scope.lName = ‘‘;
 4 $scope.passw1 = ‘‘;
 5 $scope.passw2 = ‘‘;
 6 $scope.users = [
 7 {id:1, fName:‘Hege‘, lName:"Pege"},
 8 {id:2, fName:‘Kim‘,  lName:"Pim"},
 9 {id:3, fName:‘Sal‘,  lName:"Smith"},
10 {id:4, fName:‘Jack‘, lName:"Jones"},
11 {id:5, fName:‘John‘, lName:"Doe"},
12 {id:6, fName:‘Peter‘,lName:"Pan"}
13 ];
14 $scope.edit = true;
15 $scope.error = false;
16 $scope.incomplete = false;
17
18 $scope.editUser = function(id) {
19   if (id == ‘new‘) {
20     $scope.edit = true;
21     $scope.incomplete = true;
22     $scope.fName = ‘‘;
23     $scope.lName = ‘‘;
24     } else {
25     $scope.edit = true;
26     $scope.fName = $scope.users[id-1].fName;
27     $scope.lName = $scope.users[id-1].lName;
28     $scope.fuserid = id;
29   }
30 };
31
32 $scope.saveUser = function(id) {
33   if (id == ‘new‘) {
34     //
35     } else {
36     $scope.users[id-1].fName = $scope.fName;
37     $scope.users[id-1].lName = $scope.lName;
38   }
39 };
40
41 $scope.$watch(‘passw1‘,function() {$scope.test();});
42 $scope.$watch(‘passw2‘,function() {$scope.test();});
43 $scope.$watch(‘fName‘, function() {$scope.test();});
44 $scope.$watch(‘lName‘, function() {$scope.test();});
45
46 $scope.test = function() {
47   if ($scope.passw1 !== $scope.passw2) {
48     $scope.error = true;
49     } else {
50     $scope.error = false;
51   }
52   $scope.incomplete = false;
53   if ($scope.edit && (!$scope.fName.length ||
54   !$scope.lName.length ||
55   !$scope.passw1.length || !$scope.passw2.length)) {
56      $scope.incomplete = true;
57   }
58 };
59
60 });

看教程显示了数据,但是点击修改的时候,按钮是禁用掉的。就想着自己试试修改数据。

学习心得:

获取对应的ID,修改id行的值。在html页面增加一个隐藏域存入ID值。

如有更好的办法可在评论区告诉我哦!^_^

时间: 2024-10-25 19:06:02

angularjs学习笔记一之显示数据,修改数据的相关文章

angularjs 学习笔记(二) ----- bootstrap框架

1.  下载新的jquery-1.11.1文件. 2.  下载新的bootstrap文件. 3.  选择流式布局的模板填充入index.html文件. 4.  将top.foot转为nginclude文件 nginclude必须使用$scope对象,因此需要设置一个全局的mainctrl来将字符串或全局变量注入$cope中. $rootScope.global =global; 直接将全局变量global赋值给$rootScope,并且之后的子$Scope会获得继承,静态定义与ctrl分开. 5

AngularJs学习笔记--directive

原版地址:http://code.angularjs.org/1.0.2/docs/guide/directive Directive是教HTML玩一些新把戏的途径.在DOM编译期间,directives匹配HTML并执行.这允许directive注册行为或者转换DOM结构. Angular自带一组内置的directive,对于建立Web App有很大帮助.继续扩展的话,可以在HTML定义领域特定语言(domain specific language ,DSL). 一.在HTML中引用direc

APUE学习笔记:第六章 系统数据文件和信息

6.1 引言 UNIX系统的正常运行需要使用大量与系统有关的数据文件,针对这些数据文件的可移植接口是本章的主题.本章还介绍了系统标识函数.时间和日期函数 6.2 口令文件 UNIX系统的口令文件包含了下列各字段,这些字段包含在<pwd.h>中定义的passwd结构中 用户名 char *pw_name 加密口令 char *pw_passwd 数值用户ID uid_t pw_uid 数值组ID gid_t pw_gid 注释字段 char *pw_gecos 初始工作目录 char *pw_d

angularjs 学习笔记 -----结构定义

1.  Module使用方法 var APP =angular.module('fontApp',['ngResource', 'ngRoute', 'ngSanitize']); APP为定义的别名,之后的调用都应尽量使用该别名 'fontApp' ng-app="fontApp" 新版本angular中route被分离出来,各个被使用的Providerdou需要在此处声明. 大型应用应该拆分模块来做,先定义一个服务模块,然后再加载它 angular.module('xmpl.ser

angularjs 学习笔记(一) -----JSONP跨站访问

1.  下载angular-seed-master-master包,解压缩后将新版本的angularJS文件放入其中. 2.  制作frontmockup文件夹(前端调用),同时制作backmockup文件夹(后端调用),使用IIS开启2个webserver(此步骤可以用其他方式替代). 3.  backmockup站点添加以下HTTP头 Access-Control-Allow-Credentials:true Access-Control-Allow-Headers:origin,x-req

-_-#AngularJS学习笔记

AngularJS学习笔记 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <style> .done{display:none} .ignore{color:#999} </style> <ul> <li class="

AngularJS学习笔记filter

filter是对数据进行过滤操作,比如按某个字段搜索.格式化数据等等,是一个非常有用的接口.下面就简单介绍下它的用法. AngularJS自带的filter接口,|是filter的分隔符,参数用:分隔: currency,格式化number,货币化,默认是转化成美元  param(number,symbol),返回值将会把数字每3位加一个逗号 <input type="number" ng-model="amount"/> <p>默认美元:{

angularjs学习笔记—事件指令

angularjs学习笔记—事件指令 小俞 4.4k 3月30日 发布 推荐 4 推荐 收藏 17 收藏,11.1k 浏览 ngClick 适用标签:所有触发条件:单击 #html <div ng-controller="LearnCtrl"> <div ng-click="click()">click me</div> <button ng-click="click()">click me<

Wireshark学习笔记——如何快速抓取HTTP数据包

0.前言 在火狐浏览器和谷歌浏览器中可以非常方便的调试network(抓取HTTP数据包),但是在360系列浏览器(兼容模式或IE标准模式)中抓取HTTP数据包就不那么那么方便了.虽然也可使用HttpAnalyzer等工,但是毕竟都是收费软件.只需通过合适的过滤和操作,Wireshark也可抓取HTTP请求和响应.下面便说明具体操作. 假设在8080端口运行一个HTTP服务器,本例中使用Python Flask运行一个HTTP服务并侦听8080端口,实现一个简单的加法运算,网页中通过ajax提交