teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

sample

2019/11/29 06:08

投稿

yambejp
yambejp

スコア117946

answer CHANGED
@@ -1,1 +1,62 @@
1
- クッキーにでも保存しておけばよいのでは?
1
+ クッキーにでも保存しておけばよいのでは?
2
+
3
+ # sample
4
+
5
+ こんな感じでどうでしょう
6
+ ```javascript
7
+ <script>
8
+ const setCookie=(key,val)=>{
9
+ var tmp = key+"="+encodeURIComponent(val)+";";
10
+ tmp += "expires=Fri, 31-Dec-2030 23:59:59;";
11
+ document.cookie = tmp;
12
+ };
13
+ const getCookie=key=>{
14
+ var ret=null;
15
+ var params = document.cookie.split(/; */);
16
+ params.forEach(x=>{
17
+ if(r=x.match(new RegExp("^"+key+"="+"(.*)"))){
18
+ ret=decodeURIComponent(r[1]);
19
+ }
20
+ });
21
+ return ret;
22
+ };
23
+ const delCookie=key=>{
24
+ expiredate = new Date();
25
+ expiredate.setFullYear(expiredate.getFullYear()-1);
26
+ tmp = key+"=;";
27
+ tmp += "expires="+expiredate.toGMTString();
28
+ document.cookie = tmp;
29
+ };
30
+ const arr = [
31
+ {cd:"1", label:"いち"},
32
+ {cd:"2", label:"に"},
33
+ {cd:"3", label:"さん"},
34
+ {cd:"4", label:"よん"},
35
+ {cd:"5", label:"ご"},
36
+ ];
37
+ window.addEventListener('DOMContentLoaded', ()=>{
38
+ const number=document.querySelector("#number");
39
+ arr.forEach(x=>{
40
+ const op=Object.assign(document.createElement("option"),{
41
+ value:x.cd,textContent:x.label});
42
+ number.appendChild(op);
43
+ });
44
+ number.addEventListener('change',e=>{
45
+ setCookie('number',number.value);
46
+ });
47
+ var v=getCookie('number');
48
+ if(v) number.value=v;
49
+ });
50
+ </script>
51
+
52
+ <form:select path="number">
53
+ <select id="number"></select>
54
+ <span id="hiddenNumber" class="disNon"><c:out value="${entry.numberList}" /></span>
55
+ </form:select>
56
+ <a href="next.html">next</a>
57
+ ```
58
+
59
+ - next.html
60
+ ```html
61
+ <a href="javascript:history.back()">back</a>
62
+ ```