码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2020-01-24 23:38:22      阅读:107      评论:0      收藏:0      [点我收藏+]

标签:数组   省份   inpu   float   line   append   end   position   双击   

今天由于除夕以及各种乱七八糟的事,并没有学习完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中。

明日任务:过年,看书。

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

标签:数组   省份   inpu   float   line   append   end   position   双击   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!