jQuery-demo

 

  1 <!DOCTYPE html>
  2 <html>
  3     <head>
  4         <meta charset="UTF-8">
  5         <title>DOM</title>
  6         <style type="text/css">
  7             .red{
  8                 color:red;
  9             }
 10         </style>
 11     </head>
 12     <body>
 13         <h2>DOM-用户管理</h2>
 14         <table border="1" id="tabUsers" width="100%">
 15             <tr>
 16                 <th>
 17                     <input type="checkbox" id="chbAll" />
 18                 </th>
 19                 <th>编号</th>
 20                 <th>姓名</th>
 21                 <th>城市</th>
 22                 <th>操作</th>
 23             </tr>
 24         </table>
 25         <p>
 26             <button type="button" id="btnDelSelected">删除选择项</button>
 27         </p>
 28         <fieldset>
 29             <legend>用户信息</legend>
 30             <p>
 31                 <label for="name">姓名:</label>
 32                 <input type="text" name="name" id="name" placeholder="请输入姓名" />
 33                 <span id="nameMsg" class="red"></span>
 34             </p>
 35             <p>
 36                 <label for="city">城市:</label>
 37                 <input type="text" name="city" id="city" placeholder="请输入城市" />
 38                 <span id="cityMsg" class="red"></span>
 39             </p>
 40             <p>
 41                 <button type="button" id="btnSave">保存</button>
 42                 <button type="button" id="btnUpdate">更新</button>
 43             </p>
 44         </fieldset>
 45     <script src="http://code.jquery.com/jquery-2.1.4.min.js" type="text/javascript" charset="utf-8"></script>
 46     <script type="text/javascript">
 47         var app = {
 48         data: [{
 49                 id: 1,
 50                 name: "张学友",
 51                 city: "中国香港"
 52             },
 53             {
 54                 id: 2,
 55                 name: "张国立",
 56                 city: "中国北京"
 57                 },
 58                 {
 59                 id: 5,
 60                 name: "张惠妹",
 61                 city: "中国上海"
 62                 }
 63             ],
 64             index: -1,
 65             bind: function() { //将数组中的数据渲染到页面中
 66                 //将表格中第一行以外的数组清空
 67                 $("#tabUsers tr:gt(0)").remove();
 68                     $.each(app.data, function(i, obj) {
 69                         var tr = $("<tr/>");
 70                         var chbItem = $("<input type='checkbox' name='chbItem'/>").data("index", i);
 71                             $("<td/>").append(chbItem).appendTo(tr);
 72                             $("<td/>").html(obj.id).appendTo(tr);
 73                             $("<td/>").html(obj.name).appendTo(tr);
 74                             $("<td/>").html(obj.city).appendTo(tr);
 75                         //创建一个删除元素,在元素中隐藏数据index,对应了数组中的索引
 76                         var aDel = $("<a href='#' class='del'>删除</a>").data("index", i);
 77                         var aEdit = $("<a href='#' class='edit'> | 编辑</a>").data("index", i).data("user", obj);
 78                             $("<td/>").append(aDel).append(aEdit).appendTo(tr);
 79                             //在#tabUsers元素中追加子元素tr
 80                             $("#tabUsers").append(tr);
 81                     });
 82             },
 83             save: function() { //新增
 84                 var user = {
 85                     id: 1,
 86                     name: $("#name").val(),
 87                     city: $("#city").val()
 88                 };
 89                 if(app.verify(user)) {
 90                     if(app.data.length > 0) { //如果数组中有数据
 91                         user.id = app.data[app.data.length - 1].id + 1;
 92                     };
 93                     app.data.push(user); //将user对象添加到数组的末尾
 94                     //重新渲染
 95                     app.bind();
 96                 }
 97             },
 98             deleteOne: function(obj) { //根据一个元素删除当前行
 99                 var index = $(obj).data("index");
100                 //index表示删除的起始位置,1表示删除几个
101                 app.data.splice(index, 1);
102                 //更新页面
103                 //app.bind();
104                 $(obj).closest("tr").remove(); //移除最近的tr父节点
105             },
106             deleteSelected: function() { //多删除
107                 var items = $("input[name=chbItem]:checked");
108                 for(var i = items.size(); i >= 0; i--) {
109                     app.deleteOne(items[i]);
110                 }
111             },
112             verify: function(user) {
113                 if(!(user.name && /^[\u4e00-\u9fa5]{2,4}$/.test(user.name))) {
114                     $("#nameMsg").html("姓名格式错误");
115                     return false;
116                 } else {
117                     $("#nameMsg").html("");
118                 }
119                 if(!(user.city && /^.{2,10}$/.test(user.city))){
120                         $("#cityMsg").html("城市格式错误");
121                         return false;
122                     } else {
123                         $("#cityMsg").html("");
124                     }
125                         return true;
126             },
127             start: function() {
128                 //绑定事件
129                 $("#btnSave").click(app.save);
130                 $("#tabUsers").on("click", ".del", function() {
131                     if(confirm('您确定要删除吗?')) {
132                         app.deleteOne(this);
133                     }
134                 });
135                 $("#chbAll").click(function() {
136                     $("input[name=chbItem]").prop("checked", $(this).prop("checked"));
137                 });
138                 //多删除
139                 $("#btnDelSelected").click(app.deleteSelected);
140                 //编辑
141                 $("#tabUsers").on("click", ".edit", function() {
142                     //索引
143                     var index = $(this).data("index");
144                     //对象
145                     var obj = $(this).data("user");
146                     $("#name").val(obj.name);
147                     $("#city").val(obj.city);
148                     app.index = index;
149                 });
150                 //更新
151                 $("#btnUpdate").click(function() {
152                     //获得要更新的对象
153                     var user = app.data[app.index];
154                     user.name = $("#name").val();
155                     user.city = $("#city").val();
156                     app.bind();
157                     app.index = -1;
158                 });
159                 app.bind();
160             }
161         };
162         app.start();
163     </script>
164     </body>
165 </html>
01用户管理-本地
  1 <!DOCTYPE html>
  2 <html>
  3 
  4     <head>
  5         <meta charset="UTF-8">
  6         <title>jQuery AJAX</title>
  7         <style type="text/css">
  8             #loading{
  9                 display: none;
 10             }
 11         </style>
 12     </head>
 13 
 14     <body>
 15         <h2>jQuery AJAX</h2>
 16         <table border="1" id="tabUsers" width="100%">
 17             <tr>
 18                 <th>编号</th>
 19                 <th>姓名</th>
 20                 <th>城市</th>
 21                 <th>操作</th>
 22             </tr>
 23         </table>
 24         <p></p>
 25         <fieldset>
 26             <legend>用户信息</legend>
 27             <p>
 28                 <label for="name">姓名:</label> <input type="text" name="name" id="name" placeholder="请输入姓名" /> <span id="nameMsg" class="red"></span>
 29             </p>
 30             <p>
 31                 <label for="city">城市:</label> <input type="text" name="city" id="city" placeholder="请输入城市" /> <span id="cityMsg" class="red"></span>
 32             </p>
 33             <p>
 34                 <button type="button" id="btnSave">保存</button>
 35                 <button type="button" id="btnUpdate">更新</button>
 36             </p>
 37         </fieldset>
 38         <div id="loading">
 39             <img src="img/loading.gif" height="100"/>
 40         </div>
 41         <script src="http://code.jquery.com/jquery-2.1.4.min.js" type="text/javascript" charset="utf-8"></script>
 42         <script type="text/javascript">            
 43             var list = function() {
 44                 $.ajax({
 45                     type: "get", //请求类型
 46                     url: "UserController?action=list", //路径
 47                     beforeSend: function() { //请求前的事件
 48                         $("#loading").show(500);
 49                     },
 50                     success: function(data) { //请求成功后的事件
 51                         $("#tabUsers tr:gt(0)").remove();  //移除表格中除第一行以外的数据
 52                         $.each(data, function(i, obj) {
 53                             var tr = $("<tr/>");
 54                             $("<td/>").html(obj.id).appendTo(tr);
 55                             $("<td/>").html(obj.name).appendTo(tr);
 56                             $("<td/>").html(obj.city).appendTo(tr);                           
 57                             var del=$("<a href='#' class='del'>删除 | </a>").data("id",obj.id);
 58                             var edit=$("<a href='#' class='edit'>编辑</a>").data("user",obj);
 59                             $("<td/>").append(del).append(edit).appendTo(tr);
 60                             $("#tabUsers").append(tr);
 61                         });
 62 
 63                     },
 64                     complete: function() { //请求完成时的事件,不论成功或失败
 65                         $("#loading").hide(500);
 66                     },
 67                     error: function(xhr, textStatus, errorThrown) { //错误时
 68                         alert(xhr + textStatus + errorThrown);
 69                     }
 70                 });
 71             }
 72             list();            
 73             //添加
 74             $("#btnSave").click(function(){
 75                 $.ajax({
 76                     url:"UserController?action=add",  //请求地址
 77                     data:{name:$("#name").val(),city:$("#city").val()},  //发送给后台的数据
 78                     type:"post",  //请求类型
 79                     beforeSend:function(){  //请求前
 80                         $("#loading").show(500);
 81                         $("#btnSave").prop("disabled",true).html("请求中...");
 82                     },
 83                     success:function(data){  //请求成功事件
 84                         alert(data.msg);  
 85                         list();  //重新绑定
 86                     },
 87                     complete:function(){  //请求完成,不论成功或失败
 88                         $("#loading").hide(500);
 89                         $("#btnSave").prop("disabled",false).html("保存");
 90                     }
 91                 });
 92                 
 93             });
 94             //删除
 95             $("#tabUsers").on("click",".del",function(){
 96                 var id=$(this).data("id");
 97                 //发送ajax get请求
 98                 $.get("UserController?action=del",{"id":id},function(data){
 99                     alert(data.msg);
100                     list();
101                 });
102             });
103             //编辑
104             var user=null;
105             $("#tabUsers").on("click",".edit",function(){
106                 user=$(this).data("user");
107                 $("#name").val(user.name);
108                 $("#city").val(user.city);
109             });           
110             //更新事件
111             $("#btnUpdate").click(function(){               
112                 user.name=$("#name").val();
113                 user.city=$("#city").val();               
114                 //向服务器发送post请求
115                 $.post("UserController?action=update",user,function(data){
116                     alert(data.msg);
117                     list();
118                 });
119                 
120             });
121             
122         </script>
123     </body>
124 
125 </html>
02用户管理-Ajax
 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="UTF-8">
 5         <title>artDialog</title>
 6         <link rel="stylesheet" type="text/css" href="js/artDialog7/css/dialog.css"/>
 7         <style type="text/css">
 8             #formUser{
 9                 display: none;
10             }
11         </style>
12     </head>
13     <body>
14         <h2>artDialog</h2>
15         
16         <button type="button" onclick="click1()">提示</button>
17         <button type="button" onclick="click2()">添加用户</button>
18         <button type="button" onclick="click3()">加载中</button>
19         <fieldset id="formUser">
20             <legend>用户信息</legend>
21             <p>
22                 <label for="name">姓名:</label> <input type="text" name="name" id="name" placeholder="请输入姓名" /> <span id="nameMsg" class="red"></span>
23             </p>
24             <p>
25                 <label for="city">城市:</label> <input type="text" name="city" id="city" placeholder="请输入城市" /> <span id="cityMsg" class="red"></span>
26             </p>
27             <p>
28                 <button type="button" id="btnSave">保存</button>
29                 <button type="button" id="btnUpdate">更新</button>
30             </p>
31         </fieldset>
32         
33         <script src="js/jquery-1.12.3.min.js" type="text/javascript" charset="utf-8"></script>
34         <script src="js/artDialog7/dist/dialog.js" type="text/javascript" charset="utf-8"></script>
35         
36         <script>
37             function click1(){
38                 var d=dialog({
39                     title:"提示",
40                     content:"恭喜您,删除成功!",
41                      okValue: '确定',
42                     ok:function(){
43                         
44                         setTimeout(function(){
45                             d.close().remove();
46                         },2000);
47                         
48                         return false;
49                     },
50                     cancel:function(){
51                         
52                     }
53                 });
54                 d.show();
55             }
56             
57             function click2(){
58                 var d=dialog({
59                     title:"添加用户",
60                     modal:true,
61                     backdropOpacity:0.2,
62                     width:'600px',
63                     height:'300px',
64                     content:$("#formUser")
65                 });
66                 d.show();
67             }
68             
69             var box
70             function click3(){
71                 var box=dialog({
72                     modal:true
73                 });
74                 box.show();
75             };
76             
77         </script>
78     </body>
79 </html>
03弹出层

 

posted @ 2019-08-13 15:43  77芽儿  阅读(119)  评论(0编辑  收藏  举报