记账本开发记录——第七天(2020.1.24)

今天由于除夕以及各种乱七八糟的事,并没有学习完JQ的知识。下面是我学习到的案例:

首先,了解了使用JQ的遍历操作。在JQ中,有两种遍历方法,这里采用的是第二种方法。通过JQ重写了JS的省市二级联动。下面是代码:

  1 <!DOCTYPE html>
  2 <html>
  3     <head>
  4         <meta charset="UTF-8">
  5         <title>使用jQuery完成省市二级联动</title>
  6         <style type="text/css">
  7             .top {
  8                 border: 1px solid red;
  9                 width: 32.9%;
 10                 height: 50px;
 11                 float: left;
 12             }
 13
 14             #clear {
 15                 clear: both;
 16             }
 17
 18             #menu {
 19                 border: 1px solid blue;
 20                 width: 99%;
 21                 height: 40px;
 22                 background-color: black;
 23             }
 24
 25             #menu ul li {
 26                 display: inline;
 27                 color: white;
 28                 font-size: 19px;
 29             }
 30
 31             #bottom {
 32                 text-align: center;
 33             }
 34
 35             #contanier {
 36                 border: 1px solid red;
 37                 width: 99%;
 38                 height: 600px;
 39                 background: url(../img/regist_bg.jpg);
 40                 position: relative;
 41             }
 42
 43             #content {
 44                 border: 5px solid gray;
 45                 width: 50%;
 46                 height: 60%;
 47                 position: absolute;
 48                 top: 100px;
 49                 left: 300px;
 50                 background-color: white;
 51                 padding-top: 50px;
 52             }
 53         </style>
 54         <script src="../js/jquery-1.8.3.js"></script>
 55         <script>
 56             $(function(){
 57                 // 2.创建二维数组用于存储省份和城市
 58                 var cities = new Array(3);
 59                 cities[0]= new Array("武汉市","黄冈市","襄阳市","荆州市");
 60                 cities[1]= new Array("长沙市","郴州市","苏州市","岳阳市");
 61                 cities[2]= new Array("石家庄市","邯郸市","廊坊市","保定市");
 62                 cities[3]= new Array("郑州市","洛阳市","开封市","安阳市");
 63
 64                 $("#province").change(function(){
 65                     // 10.清除第二个下拉列表的内容
 66                     $("#city").empty();
 67                     // 1.获取用户选择的省份
 68                     var val = this.value;
 69                     // alert(val);
 70                     // 3.遍历二维数组中的省份
 71                     $.each(cities,function(i,n){
 72                         //alert(i+":"+n);
 73                         //4.判断用户选择的省份与遍历的省份
 74                         if(val==i){
 75                             //5.遍历该省份下的所有城市
 76                             $.each(cities[i],function(j,m){
 77                                 // alert(m);
 78                                 //6.创建城市文本节点
 79                                 var textNode = document.createTextNode(m);
 80                                 // 7.创建option元素节点
 81                                 var opEle = document.createElement("option");
 82                                 // 8.将文本节点添加到元素节点中去
 83                                 $(opEle).append(textNode);
 84                                 //9.将option元素节点追加到第二个下拉列表
 85                                 $(opEle).appendTo($("#city"));
 86                             })
 87                         }
 88                     });
 89                 });
 90             });
 91         </script>
 92
 93     </head>
 94     <body>
 95         <div>
 96
 97             <!--1.logo部分的div-->
 98             <div>
 99                 <!--切分为3个小的div-->
100                 <div class="top">
101                     <img src="../img/logo2.png" height="47px" />
102                 </div>
103                 <div class="top">
104                     <img src="../img/header.png" height="47px" />
105                 </div>
106                 <div class="top" style="padding-top: 15px;height: 35px;">
107                     <a href="#">登录</a>
108                     <a href="#">注册</a>
109                     <a href="#">购物车</a>
110                 </div>
111             </div>
112             <!--清除浮动-->
113             <div id="clear">
114
115             </div>
116             <!--2.导航栏部分的div-->
117             <div id="menu">
118                 <ul>
119                     <li>首页</li>
120                     <li>电脑办公</li>
121                     <li>手机数码</li>
122                     <li>孕婴保健</li>
123                     <li>鞋靴箱包</li>
124                 </ul>
125             </div>
126             <!--3.中间注册表单部分div-->
127             <div id="contanier">
128                 <div id="content">
129                     <table border="1" align="center" cellpadding="0" cellspacing="0" width="70%" height="70%" bgcolor="white">
130                         <form method="get" action="#" onsubmit="return checkForm()">
131                             <tr>
132                                 <td colspan="2" align="center">
133                                     <font size="5">会员注册</font>
134                                 </td>
135
136                             </tr>
137                             <tr>
138                                 <td>
139                                     用户名
140                                 </td>
141                                 <td>
142                                     <input type="text" name="username" id="username" onfocus="showTips(‘username‘,‘必须以字母开头‘)" onblur="check(‘username‘,‘用户名不能为空‘)" /><span
143                                      id="usernamespan"></span>
144                                 </td>
145                             </tr>
146                             <tr>
147                                 <td>密码</td>
148                                 <td>
149                                     <input type="password" name="password" id="password" onfocus="showTips(‘password‘,‘密码长度不能低于6位!‘)" onblur="check(‘password‘,‘密码不能为空!‘)" /><span
150                                      id="passwordspan"></span>
151                                 </td>
152                             </tr>
153                             <tr>
154                                 <td>确认密码</td>
155                                 <td>
156                                     <input type="password" name="repassword" />
157                                 </td>
158                             </tr>
159                             <tr>
160                                 <td>email</td>
161                                 <td>
162                                     <input type="text" name="email" id="email" />
163                                 </td>
164                             </tr>
165                             <tr>
166                                 <td>姓名</td>
167                                 <td>
168                                     <input type="text" name="name" />
169                                 </td>
170                             </tr>
171                             <!--1.编写HTML文件部分的内容-->
172                             <tr>
173                                 <td>籍贯</td>
174                                 <td>
175                                     <!--2.确定事件,通过函数传参的方式拿到改变后的城市-->
176                                     <select id="province">
177                                         <option>--请选择--</option>
178                                         <option value="0">湖北</option>
179                                         <option value="1">湖南</option>
180                                         <option value="2">河北</option>
181                                         <option value="3">河南</option>
182                                     </select>
183                                     <select id="city">
184
185                                     </select>
186                                 </td>
187                             </tr>
188                             <tr>
189                                 <td>性别</td>
190                                 <td>
191                                     <input type="radio" name="sex" value="男" />男
192                                     <input type="radio" name="sex" value="女" />女
193                                 </td>
194                             </tr>
195                             <tr>
196                                 <td>出生日期</td>
197                                 <td>
198                                     <input type="text" name="birthday" />
199                                 </td>
200                             </tr>
201                             <tr>
202                                 <td>验证码</td>
203                                 <td>
204                                     <input type="text" name="yanzhengma" />
205                                     <img src="../img/yanzhengma.png" />
206                                 </td>
207                             </tr>
208                             <tr>
209                                 <td colspan="2">
210                                     <input type="submit" value="注册" />
211                                 </td>
212                             </tr>
213                         </form>
214                     </table>
215                 </div>
216             </div>
217             <!--4.广告图片的div-->
218             <div id="">
219                 <img src="../img/footer.jpg" width="99%" />
220             </div>
221             <!--5.超链接与版权信息的div-->
222             <div id="bottom">
223                 <a href="#">关于我们 </a>
224                 <a href="#">联系我们 </a>
225                 <a href="#">招贤纳士 </a>
226                 <a href="#">法律声明</a>
227                 <a href="#">友情链接</a>
228                 <a href="#">支付方式</a>
229                 <a href="#">配送方式 </a>
230                 <a href="#">服务声明 </a>
231                 <a href="#">广告声明 </a>
232                 <p>Copyright © 2005-2016 传智商城 版权所有 </p>
233             </div>
234         </div>
235     </body>
236 </html>

JQ实现省市二级联动

可以看到,JQ对于代码省略了很多的内容,并且遍历操作十分的简单。需要注意的是JQ对象和DOM对象不是一个概念,DOM对象转换成JQ对象需要加$(),

之后,实现了下拉列表左右选择,对于JQ选择器的知识点得到进一步的巩固。下面是JS部分代码:

 1         <script src="../js/jquery-1.8.3.js"></script>
 2         <script>
 3             $(function(){
 4                 // 1.选中单击去右边
 5                 $("#selectOneToRight").click(function(){
 6                     $("#left option:selected").appendTo($("#right"));
 7                 });
 8
 9                 // 2.单击击全部去右边
10                 $("#selectAllToRight").click(function(){
11                     $("#left option").appendTo($("#right"));
12                 });
13                 // 3.选中双击去右边
14                 $("#left").dblclick(function(){
15                     $("#left option:selected").appendTo($("#right"));
16                 });
17             });
18         </script>

可以看到,这个案例中JQ的实现方式非常简单。在这里我们使用了JQ中的添加方法,A append B和A  appendTo B 前者是把B添加到A里 后者是把A添加到B中。

明日任务:过年,看书。

原文地址:https://www.cnblogs.com/wushenjiang/p/12232666.html

时间: 2024-08-30 16:03:54

记账本开发记录——第七天(2020.1.24)的相关文章

记账本开发记录——第八天(2020.1.26)

在疫情如此严重的现在,在家安心学习. 昨天初一守夜无聊的时候学完了JQ剩下的部分.这里讲到了一个插件validate.使用这个插件可以很方便的进行表单的检验,并且具有很好看的效果样式.以下是代码: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title>网站注册页面</title> 6 <style> 7 #contan

记账本开发记录——第十二天(2020.1.30)

今天,学习了HTTP协议的相关内容和Servlet的运行原理.HTTP协议,全称叫做超文本传输协议,是一种网络协议,用来定义WEB浏览器与WEB服务器之间交换数据的过程. 在HTTP协议中,分为HTTP请求和HTTP响应(request和response)在HTTP请求中,根据请求方式的不同,内容也有所不同.对于get请求,会将内容放在浏览器URL内,不如post请求安全.post请求会把内容放到request内,而不会显示在浏览器URL内,相对来说要更加的安全. 在请求中有很多固定的参数,作为

家庭记账本开发记录(1)

这个寒假前面的时间一直在学习web前端,因为之前开发JavaWeb时,一些界面应用太粗糙,所以利用前段时间系统了解了一下前端技术,以便接下来后端开发的界面美观.再就是今天的关于家庭记账本软件的开发,确定了一下设计思路,其中主要是对数据库的操作比较重要,因为记账的收入支出需要进行数据汇总,一段时间以后用可视化数据报表进行呈现.对收入支出的费用又各有分类,收入有薪资.理财.红包.借入.收债.其他,支出消费.餐饮.购物.住房.交通.通讯.娱乐.医疗.教育.红包.旅行.投资.借出.还债.其他,至于对数据

记账本开发记录——第三天(2020.1.20)

本来按照今天的原计划来说,应该学习完javascript的基础内容.但今天一天都在干活,到晚上八点才坐到电脑前,已经精疲力尽了.于是简单设计了一下网站的几个页面和大体结构.以下是具体: 网站主界面: 开始记账界面: (希望实现:点击加号后弹出一个界面进行增) (删除时要弹出确认提示) (改时可以更改所有信息,也是弹出一个界面) 账单汇总 (选择汇总条件,目前只计划添加某时间段,如果时间允许增加种类等属性) (查找后输出在某段时间内总花费) 图表数据(尝试使用百度的smartart功能,生成一段时

记账本开发记录——第四天(2020.1.21)

总结:今天学习完了javascript的第一部分基础知识(昨天没学完的)并尝试使用div+css编写了记账本的index.html.以下是具体: 首先,使用javascript完成了首页轮播图效果,使用了setInterval.下面是代码:(实现较为低级) 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>首页</title>

记账本开发记录——第十天(2020.1.28)

今天,简单学习了JDBC连接池的概念和自定义连接池. 所谓连接池,就是连接完后不close,而是归还到连接池内,可以解决数据库连接的性能问题. 对于自定义连接池,我们可以自己创建连接池,然后通过这个连接池进行连接.如下代码: 1 public class MyDataSource implements DataSource{ 2 // 创建一个List集合用于存放多个连接对象. 3 private List<Connection> list = new ArrayList<Connect

记账本开发记录——第十三天(2020.1.31)

今天主要是学习了如何使用servletcontext来进行一个记录网站登录人数的案例.在实现这个案例之前,首先要学习相关的知识. ServletContext:在服务器启动的时候,为每个web应用创建一个单独的ServletContext对象,我们可以使用这个对象存储数据. 那么我们实现这个案例的思路是如何呢?我们可以在登录的Servlet中初始一个变量count为0,然后将其存到ServletContext中,在进入页面时就读取ServletContext的内容.下面是相关代码: packag

记账本开发记录——第五天(2020.1.22)

今天继续学习了javascript的相关内容,同时学习了关于表格标签的一些新标签. 首先,学习了如何使表格隔行换色.整体的思路不算复杂,用java里的思路就可以大致理解,以下是效果和代码: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title>表格隔行换色</title> 6 <script> 7 window.onl

记账本开发记录——第六天(2020.1.22)

在学习JQ之前,我上网百度了一下,看看是否有学习该部分的必要.根据网友所说,虽然JQ的使用率不比以前,但作为一个十分经典的框架,仍然值得学习.现在很多框架都依赖于JQ,这点也是不容忽略的.在JQ中的AJAX也是个很多公司需要的功能.总的来说对于初学者来说学习JQ还是很有必要的. 在学习了一部分JS的基础上,今天学习了jQuery的基本操作.jQuery其实就是js query(查询),从名字可以看到,jQuery是对JS代码的一个简单化的框架.运用JQ可以很简单的编写出用JS来说比较复杂的案例.