1 <html>
2 <head>
3 <title></title>
4 <style>
5 b{
6 display: block;
7 width: 7px;
8 height: 7px;
9 position: absolute;
10 right: 6px;
11 top: 7px;
12 background: url(20130606B.png) no-repeat -37px -62px;
13 cursor: pointer;
14 }
15
16 label{width: 57px; height: 20px;float:left;margin-top:5px;}
17
18 ul{float:left; height: auto;margin-top: 2px;list-style:none;margin-left: 10px;}
19 ul li{
20 float: left;
21 position: relative;
22 height: 20px;
23 padding: 0 20px 0 5px;
24 border: 1px solid #E6E6E6;
25 margin-right: 15px;
26 margin-bottom: 2px;
27 line-height: 20px;
28 }
29
30 .item{border-bottom: 1px solid #f9f9f9; clear:both;height:25px;}
31 </style>
32 </head>
33 <body>
34 <div>
35 <input type="text" name="" id="time-s"/>
36 <input type="text" name="" id="time-e"/>
37 <input type="button" value="保存" id="save" onclick="_save_time()"/>
38 </div>
39 <div id="places">
40 <input type="checkbox" name="chx" value="Sunday"/>香港Sunday
41 <input type="checkbox" name="chx" value="Monday"/>澳门Monday
42 <input type="checkbox" name="chx" value="Tuesday"/>深圳Tuesday
43 <input type="checkbox" name="chx" value="Wednesday"/>台北Wednesday
44 <input type="checkbox" name="chx" value="Thursday"/>乌镇Thursday
45 <input type="checkbox" name="chx" value="Friday"/>丽江Friday
46 <input type="checkbox" name="chx" value="Saturday"/>杭州Saturday
47 </div>
48
49 <div id="allplaces">
50 <input type="checkbox" id="checkall" name="chx" value="0" onclick="_check_all(this)"/>全选
51 </div>
52
53 <div>
54
55 <div class="item">
56 <label>星期天</label>
57 <ul id="Sunday"></ul>
58
59 <div class="item">
60 <label>星期一</label>
61 <ul id="Monday"></ul>
62 </div>
63
64 <div class="item">
65 <label>星期二</label>
66 <ul id="Tuesday"></ul>
67 </div>
68
69 <div class="item">
70 <label>星期三</label>
71 <ul id="Wednesday"></ul>
72 </div>
73
74 <div class="item">
75 <label>星期四</label>
76 <ul id="Thursday"></ul>
77 </div>
78
79 <div class="item">
80 <label>星期五</label>
81 <ul id="Friday"></ul>
82 </div>
83
84 <div class="item">
85 <label>星期六</label>
86 <ul id="Saturday"></ul>
87 </div>
88
89 </div>
90 </div>
91 <div style="clear:both"></div>
92 <hr/>
93 <div id="time_area"></div>
94
95
96 </body>
97 <script>
98 //点击“全选”, 所有地方都选上
99 function _check_all(obj)
100 {
101 console.log(obj.value)
102 var nodes = document.getElementById("places").childNodes;
103 if(obj.checked)
104 {
105 for (var i=0; i < nodes.length; i++)
106 {
107 if(nodes[i].type == "checkbox")
108 {
109 nodes[i].checked = true;
110 }
111 }
112 }
113 else
114 {
115 for (var i=0; i < nodes.length; i++)
116 {
117 if(nodes[i].type == "checkbox")
118 {
119 nodes[i].checked = false;
120 }
121 }
122 }
123 }
124
125 window.onload = function(){
126
127 //删除时间段
128 var oUls = document.getElementsByTagName("ul");
129 for(var i=0; i <oUls.length; i++){
130 oUls[i].addEventListener("click", function(event){
131 var evt = event|| window.event;
132 var obj = evt.target || evt.srcElement;
133 var nodeName = obj.nodeName.toLowerCase();
134 if(nodeName == "b"){
135 obj.parentNode.parentNode.removeChild(obj.parentNode);
136 }
137 });
138 }
139
140 //星期一 到 星期天 input checkbox click事件绑定, 与 “全选” checkbox之间的关系判断
141 var oChilds = document.getElementById("places").childNodes;
142 for (var i=0; i < oChilds.length; i++)
143 {
144 if(oChilds[i].type == "checkbox")
145 {
146 oChilds[i].addEventListener("click", function(event){
147 var nodes = oChilds;
148 if(this.checked)
149 {
150 for (var i=0; i < nodes.length; i++)
151 {
152 if((nodes[i].type == "checkbox") && !nodes[i].checked)
153 {
154 document.getElementById("checkall").checked = false;
155 return;
156 }
157 }
158 document.getElementById("checkall").checked = true;
159 }
160 else
161 {
162 document.getElementById("checkall").checked = false;
163 }
164 });
165 }
166 }
167 }
168
169 //保存时间
170
171 Array.prototype.contains = function(obj){
172 var i = this.length;
173 while (i--)
174 {
175 if (this[i] === obj)
176 {
177 return true;
178 }
179 }
180 return false;
181 }
182
183 function _save_time(time_range){
184 var oChilds = document.getElementById("places").childNodes;
185 for(var i=0; i < oChilds.length; i++){
186 if(oChilds[i].type == "checkbox" && oChilds[i].checked)
187 {
188 var oLi = document.createElement("li");
189 var oSpan = document.createElement("span");
190 var oB = document.createElement("b");
191
192 //拿到上一次保存的数据,如果存在则不添加,否则就添加
193 var oUl = document.getElementById(oChilds[i].value);
194 var nextVal = "19:30:00-21:00:00";
195 var oLiPrevVal = [];
196
197 var oLiPrevNodes = oUl.childNodes;
198 console.log(oLiPrevNodes);
199 for(var j=0; j<oLiPrevNodes.length; j++){
200 oLiPrevVal.push(oLiPrevNodes[j].childNodes[0].innerHTML);
201 console.log(oLiPrevVal);
202 }
203
204 if(!oLiPrevVal.contains(nextVal))
205 {
206 oSpan.innerHTML = nextVal;
207 oLi.appendChild(oSpan);
208 oLi.appendChild(oB);
209 oUl.appendChild(oLi);
210 }
211
212 }
213 }
214 }
215 </script>
216 </html>