jsp代碼
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
|
< div id = "mainContainer" > < div class = "contentCol" > < div id = "b_center" > < div class = "mod mod1 parent-table" id = "launch-detail-table" > < div class = "mod-header radius" > < h2 style = "margin-bottom:0px;margin-top:0px;height:43px;line-height:43px;" > 菜單管理 </ h2 > < span style = "color:red" >請使用拖拽調整排列順序</ span > < button id = "addLG" type = "button" class = "czbtn add_class" style = "width:140px;margin-left:20px;" > < img alt = "" src = "/center/images/btn_add.png" > 添加菜單</ button > </ div > < br > < div class = "mod-body" > < table class = "data-load-2 appgrouping" width = "100%" border = "0" cellspacing = "0" id = "showTable" style = "word-wrap: break-word; word-break: break-all;table-layout: inherit;background:#FFFFFF !important;" > < thead > < tr class = "first_tr" > < th class = "first" width = "50" style = "text-align: center;width:10%;" >編號</ th > < th width = "400" align = "center" style = "text-align: center;width:17%" >菜單名稱</ th > <!-- <th width="160" align="center" style="text-align: center">菜單級別</th> <th width="80" align="center" style="text-align: center">二級菜單</th>--> < th width = "100" align = "center" style = "text-align: center;width:18%" >菜單英文名稱</ th > < th align = "center" style = "text-align: center;width:15%" >菜單類型</ th > < th align = "center" style = "text-align: center;width:20%" >是否顯示</ th > < th width = "210" align = "center" style = "text-align: center;width:20%" >操作</ th > </ tr > </ thead > < tbody id = "data-list" style = "text-align: center;" > <% if (menuList != null && menuList.size() > 0) { for (int i = 0;i < menuList.size ();i++) { JSONObject json = menuList .getJSONObject(i); Menu menu = (Menu)JSONObject.toBean(json.getJSONObject("menu"),Menu.class); %> < tr id="<%=menu.getLevel() %>"> < td id="<%=menu.getMenuId() %>"> <%=menu.getLevel()%> </ td > < td > < div class = "menuName" ><%=menu.getMenuName()%></ div > </ td > < td > < div class = "menuName" ><%=menu.getEnMenuName()==null?"":menu.getEnMenuName()%></ div > </ td > <!-- <td> <div class="menuLevel"><%//if(menu.getHasSecond() == 1){%>一級菜單<%//}else{%>二級菜單<%//}%></div> </td> <td> <div class="isChild"><%//if(json.getString("isChild").equals("1")){%><a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" onclick="getChildMenu('<%//menu.getMenuId()%>')">查看</a><%//} else{%>無<%//}%></div> </td> --> < td > < div class = "menuName" ><%if(menu.getMenuType() == 0){%>系統類型<%}else if(menu.getMenuType() == 1){%>圖文類型<%}else{%>鏈接類型<%}%></ div > </ td > < td > <%if(menu.getState() == 0){ %> < button type = "button" onclick="changeMenuState('<%=menu.getMenuName() %>',<%=menu.getMenuId() %>,1)" class="showState czbtn">顯示</ button > < button type = "button" class = "czbtn" style = "background: #eaeaea;color: #d0d0d0;" >已隱藏</ button > <%}else{ %> < button type = "button" class = "czbtn" style = "background: #eaeaea;color: #d0d0d0;" >已顯示</ button > < button type = "button" onclick="changeMenuState('<%=menu.getMenuName() %>',<%=menu.getMenuId() %>,0)" class="hideState czbtn">隱藏</ button > <%} %> </ td > < td > <%if(menu.getMenuType() != 0) {%>< div > < div style = "float: right;margin-right:10px;" > < a title = "刪除" href = "javascript:void(0)" rel = "external nofollow" rel = "external nofollow" rel = "external nofollow" style = "color:red;width:30px;display:inline-block;" id="<%=menu.getMenuId()%>" class="icon-trash delMtCenter"> </ a > </ div > <%} %> <%if(menu.getMenuType() != 0) {%> < div style = "float: right;margin-right:10px;" > < a title = "修改" href = "javascript:void(0)" rel = "external nofollow" rel = "external nofollow" rel = "external nofollow" style = "color:red;width:30px;display:inline-block;" id="<%=menu.getMenuId()%>" class="icon-pencil mer_mod"> </ a > </ div > <%} %> </ td > </ tr > <% } } else { %> < tr > < td colspan = "6" align = "center" > 暫無數據 </ td > </ tr > <% } %> </ tbody > </ table > </ div > < div class = "mod-bottom clearfix" > < div class = "fr pagination" ></ div > </ div > </ div > </ div > </ div > </ div > </ div > </ div > < div class = "ft" style = "height: 50px;line-height: 50px;" > < div class = "copyright" style = "display: none;" > < a href = "#" rel = "external nofollow" rel = "external nofollow" rel = "external nofollow" rel = "external nofollow" rel = "external nofollow" >關于我們</ a > | < a href = "#" rel = "external nofollow" rel = "external nofollow" rel = "external nofollow" rel = "external nofollow" rel = "external nofollow" >微博</ a > | < a href = "#" rel = "external nofollow" rel = "external nofollow" rel = "external nofollow" rel = "external nofollow" rel = "external nofollow" >Blog</ a > | < a href = "#" rel = "external nofollow" rel = "external nofollow" rel = "external nofollow" rel = "external nofollow" rel = "external nofollow" >服務條款 </ a > | < a href = "#" rel = "external nofollow" rel = "external nofollow" rel = "external nofollow" rel = "external nofollow" rel = "external nofollow" >隱私政策</ a > </ div > < p class = "copy" >Incongress.com, All Rights Reserved.< span class = "ICP" ></ span ></ p > </ div > < script src = "/cvc/center/js/cached_lay_reports.js" type = "text/javascript" ></ script > < script src = "/cvc/center/js/cached_lay_reports_cus.js" type = "text/javascript" ></ script > < div id = "mask" ></ div > < div class = "tkDiv" id = "addLOGO" style = "display:none;z-index:12;width:800px;height:auto;margin-left:-50px;" > < div class = "tk1_header" style = "width:800px !important;height:40px;line-height:40px;margin-left:-10px;margin-top:-10px;" > < span style = "font-size: 16px;margin-left:20px;color:#FFF;margin-top:-5px;" id = "gn_title" >添加菜單</ span > < a id = "close_modal" style = "width:30px;height:20px;background:url('/CHC2015/cn/images/close.png') no-repeat 0px 10px;float: right;" >×</ a > </ div > < div class = "tk1" id = "addZ" style = "width:790px;height:260px;margin-left:-2px;overflow-y:auto;" > < div class = "tk1_content" id = "registerDiv" style = "width:750px;margin-top:-10px;" > < form id = "menuForm" class = "bs-docs-example form-horizontal" method = "post" action="<%=path %>/webCenter.do"> < input type = "hidden" name = "method" value = "saveOrUpdateMenu" > < input type = "hidden" name = "pageIndex" value = "1" > < input type = "hidden" name = "conId" value="<%=conId %>"> < input type = "hidden" name = "numb1" value="<%=numb1 %>"> < input type = "hidden" name = "numb2" value="<%=numb2 %>"> < input type = "hidden" id = "menuId" name = "menuId" value = "-1" > < table style = "width:750px" > < tr > < td >< span >菜單名稱</ span ></ td > < td >< input type = "text" id = "menu_name" class = "form-control" name = "menuName" style = "margin:10px 0px;display:inline-block;height:34px;" />< span class = "showWoring" ></ span ></ td > </ tr > <!-- <tr> <td>菜單級別:</td> <td> <select id="menu_level" name="menu_level" style="margin:10px 0px"> <option value="-1">請選擇...</option> <option value="1">一級菜單</option> <option value="2">二級菜單</option> </select> <span class="showWoring"></span> </td> </tr> <tr id="menu_parent_tr" style="display: none"> <td>父級菜單:</td> <td> <select id="menu_parent" name="menu_parent" style="margin:10px 0px"> <option value="-1">請選擇...</option> </select> <span class="showWoring"></span> </td> </tr>--> < tr > < td >菜單類型</ td > < td > < select id = "menuType" class = "form-control" name = "menuType" style = "margin:10px 0px;display:inline-block;width:350px;" > < option value = "-1" >請選擇...</ option > < option value = "1" >圖文類型</ option > < option value = "2" >鏈接類型</ option > </ select > </ td > </ tr > < tr id = "imgTextTr" style = "display:none" > < td > 圖文內容 </ td > < td > < textarea rows = "45" cols = "70" class = "form-control" name = "menuContent" id = "menuContent" style = "display:inline-block;" ></ textarea > </ td > </ tr > < tr id = "linkTr" style = "display:none" > < td >跳轉地址</ td > < td >請填寫完整的外鏈地址,必須包含< span style = "color:red" >http://</ span > 例如:http://www.baidu.com</ br >< input type = "text" id = "menuUrl" name = "menuUrl" style = "margin:10px 0px" />< span class = "showWoring" style = "margin:10px 0px" ></ span ></ td > </ tr > < tr > < td align = "center" colspan = "2" > < hr style = "margin-bottom:10px;" > < input id = "menu_add" type = "button" class = "button" value = "添 加" style = "border-radius:0;width:260px;height:40px;margin:auto 50px;margin:20px" /> </ td > </ tr > </ table > </ form > </ div > </ div > </ div > < div class = "tkDiv" id = "childMenu" style = "display:none;z-index:12;width:650px;height:auto;margin-left:-325px;" > < div class = "tk1" id = "childZ" style = "width:600px;height:350px;" > < div class = "tk1_header" style = "margin-top:-40px;" > < span style = "font-size: 16px;margin-left:20px;color:#FFF" id = "gn_title" >二級菜單</ span > < a id = "close_modal" style = "width:30px;height:40px;background:url('/CHC2015/cn/images/close.png') no-repeat 0px 10px;background-size:20px;float: right;" ></ a > </ div > < div class = "tk1_content" id = "registerDiv" style = "width:600px;" > < table class = "data-load-2 appgrouping" width = "100%" border = "0" cellspacing = "0" style = "word-wrap: break-word; word-break: break-all;table-layout: inherit;" > < thead > < tr class = "first_tr" > < th class = "first" width = "50" style = "text-align: center" >編號</ th > < th width = "200" align = "center" style = "text-align: center" >菜單名稱</ th > < th width = "160" align = "center" style = "text-align: center" >菜單級別</ th > < th width = "80" align = "center" style = "text-align: center" >二級菜單</ th > < th width = "80" align = "center" style = "text-align: center" >菜單類型</ th > < th width = "80" align = "center" style = "text-align: center" >修改</ th > < th width = "80" align = "center" style = "text-align: center" >刪除</ th > </ tr > </ thead > </ table > </ div > </ div > </ div > < script type = "text/javascript" src="<%=path %>/cvc/center/js/My97DatePicker/WdatePicker.js"></ script > < script src="<%=path%>/cvc/center/js/setting.js" type="text/javascript"></ script > < script src="<%=path%>/cvc/center/js/Validform_v5.3.2.js" type="text/javascript"></ script > < script charset = "utf-8" src="<%=path%>/train/js/prettify/kindeditor.js"></ script > < script charset = "utf-8" src="<%=path%>/train/js/prettify/lang/zh_CN.js"></ script > < script charset = "utf-8" src="<%=path%>/train/js/prettify/plugins/code/prettify.js"></ script > < script type = "text/javascript" src="<%=path %>/cvc/center/js/jquery-1.10.2.min.js"></ script > < script charset = "utf-8" type = "text/javascript" src="<%=path %>/center/js/jquery-ui.min.js"></ script > < script > var editor1; //改變菜單顯示隱藏狀態 function changeMenuState(menuName,menuId,state){ /* if(menuName == "征文投稿"){ alert("請到基本信息模塊中設置當前大會是否征文"); }else */if(menuName == "English"){ alert("請到基本信息模塊中設置當前大會的中英文類型"); }else{ $.ajax({ url:"/webCenter.do", type:"post", dataType:"json", data:"method=changeMenuState&menuId="+menuId+"&menuState="+state, success:function(json){ if(json.state == 1){ window.location.reload(); }else{ alert("修改失敗"); } } }) } } $("#showTable").sortable({ cursor: "move", items: "tr", //只是tr可以拖動 opacity: 0.6, //拖動時,透明度為0.6 revert: true, //釋放時,增加動畫 stop: function(event, ui) { //更新排序之后 var categoryids = $("#showTable").sortable("toArray"); localStorage.categoryids = categoryids; var level = 0; $("#showTable tr").each(function(){ $(this).children("td").eq(0).html(level); level += 1; }) level = 0; var content = "["; $("#showTable tr").each(function(){ var level = $(this).children("td").eq(0).html(); var tdId = $(this).children("td").eq(0).attr("id"); if(tdId != undefined){ if(level == 1){ content += "{level:"+level; content += ",menuId:"+tdId; content += "}"; }else if(level > 1){ content += ",{level:"+level; content += ",menuId:"+tdId; content += "}"; } } level += 1; }) content += "]"; $.ajax({ url:"<%=path%>/webCenter.do?updateMenuLevel", type:"post", dataType:"json", data:"menuList="+content, success:function(json){ } }) } }); $("#showTable").disableSelection();//讓文字不可選 //選擇二級菜單 $("#menu_level").change(function(){ $("#menu_parent").empty(); $("#menu_parent").append("< option value = '-1' >請選擇...</ option >") var level = $("#menu_level").val(); if(level == 1){ $("#menu_parent_tr").hide(); }else if(level == 2){ $.ajax({ url:"<%=path%>/webCenter.do?getFirstMenu", type:"GET", dataType:"json", success:function(result){ if(result != null && result != "" && result.length > 0){ for(var i = 0; i< result.length ;i++){ var option = "<option value='" +result[i].menuId+"'>"+result[i].menuName+"</ option >" console.log(option) $("#menu_parent").append(option); } }else{ alert("還未創建任何一級菜單,先創建一級菜單后再創建耳機菜單"); } } }) $("#menu_parent_tr").show(); } }) //選擇圖文類型 $("#menuType").change(function(){ if($("#menuType").val() == 1){ $("#imgTextTr").show(); $("#linkTr").hide(); $("#addZ").css("height","450px") }else if($("#menuType").val() == 2){ $("#imgTextTr").hide(); $("#linkTr").show(); $("#addZ").css("height","180px") } }) //添加 $("#menu_add").click(function() { var menuName = $("#menu_name").val(); var menuLevel = $("#menu_level").val(); var menuType = $("#menuType").val(); var menuUrl = $("#menuUrl").val(); if(menuName.trim() == "" || menuName.trim().length == 0){ alert("請輸入菜單名稱"); return false; } if(menuType == "-1"){ alert("請選擇菜單類型"); return false; } if($("#menuType").val() == 1){ if($("#menuContent").val().trim() == "" || $("#menuContent").val().trim().length == 0){ alert("請填寫圖文內容"); return false; } } if($("#menuType").val() == 2){ if(menuUrl.trim() == "" || menuUrl.trim().length == 0){ alert("請輸入跳轉地址"); return false; } } var menuCount = <%=menuListSize%>; if(menuCount >= 19 && $("#menuId").val() == -1){ alert("菜單最多只能添加九個"); return false; } $("#menuForm").submit(); $("#mask").hide(); $("#addLOGO").hide(); $("body").css("position", "fixed"); }) //彈出窗口 $("#addLG").click(function() { $("#mask").show(); $("#addLOGO").show(); }) //取消 $(".tk1_header").click(function() { location.reload(); }) $("#close").click(function() { $("#zsType").val(0); $("#zsHref").val(""); $("#mask").hide(); $("#addLOGO").hide(); $("body").css("position", "static"); }) //修改 $(".mer_mod").click(function() { $("#mask").show(); $("#addLOGO").show(); $("body").css("position", "fixed"); $("#menuId").val(this.id); $.ajax({ url:"<%=path%>/webCenter.do?getMenuById", type:"get", data:"menuId="+this.id, dataType:"json", success:function(data){ $("#menu_name").val(data.menuName); $("#menuType").val(data.menuType); if(data.menuType == 1){ $("#imgTextTr").show(); $("#linkTr").hide(); $("#addZ").css("height","450px") editor1.html(data.content); }if(data.menuType == 2){ $("#imgTextTr").hide(); $("#linkTr").show(); $("#addZ").css("height","80px") } } }) })</ script > </ body > </ html > <% } } %> |
action代碼
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
@RequestMapping(params = "updateMenuLevel",method = RequestMethod.POST) public void updateMenuLevel(String menuList,HttpServletRequest request,HttpServletResponse response){ try { HttpSession session = this.getSession(request); Adminuser adminUser = session.getAttribute("centerAdminUser") == null?null:(Adminuser) session.getAttribute("centerAdminUser"); if(adminUser == null){ try { response.sendRedirect(request.getContextPath()+"/center/index.jsp"); } catch (Exception e) { e.printStackTrace(); } }else{ String conId = request.getSession().getAttribute("conId") == null ? null: request.getSession().getAttribute("conId").toString(); if (conId == null) { response.sendRedirect(request.getContextPath()+"/center/index.jsp"); } JSONArray array = JSONArray.fromObject(menuList); for(int i = 0;i < array.size();i++){ JSONObject json = array.getJSONObject(i); Menu menu = webService.getMenuById(json.getInt("menuId")); menu.setLevel(json.getInt("level")); webService.saveObject(menu); } } } catch (Exception e) { e.printStackTrace(); } |
以上這篇java實現表格tr拖動的實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。
原文鏈接:http://www.cnblogs.com/jichuang/archive/2017/12/20/8066053.html