質問編集履歴

2

不要な部分を削除しました。

2020/07/27 07:38

投稿

tohmey
tohmey

スコア10

test CHANGED
File without changes
test CHANGED
@@ -82,24 +82,6 @@
82
82
 
83
83
  at HTMLTableElement.formatter ((index):22)
84
84
 
85
- at E (jquery.jqGrid.min.js:144)
86
-
87
- at F (jquery.jqGrid.min.js:146)
88
-
89
- at R (jquery.jqGrid.min.js:197)
90
-
91
- at Object.Y [as populate] (jquery.jqGrid.min.js:247)
92
-
93
- at HTMLTableElement.reloadGrid (jquery.jqGrid.min.js:324)
94
-
95
- at HTMLTableElement.dispatch (jquery-1.11.0.min.js:3)
96
-
97
- at HTMLTableElement.r.handle (jquery-1.11.0.min.js:3)
98
-
99
- at Object.trigger (jquery-1.11.0.min.js:3)
100
-
101
- at HTMLTableElement.<anonymous> (jquery-1.11.0.min.js:3)
102
-
103
85
 
104
86
 
105
87
 

1

javascliptを追加しました

2020/07/27 07:37

投稿

tohmey
tohmey

スコア10

test CHANGED
File without changes
test CHANGED
@@ -38,40 +38,72 @@
38
38
 
39
39
  ```html
40
40
 
41
- // MAPを使ってプルダウンを表示しています。これはうまくいきます。
41
+ <body>
42
42
 
43
- <ul>
43
+ // MAPを使ってプルダウンを表示しています。これはうまくいきます。
44
44
 
45
- <li><select id="slctType" name="slctType">
45
+ <ul>
46
46
 
47
- <option value="">------------</option>
47
+ <li><select id="slctType" name="slctType">
48
48
 
49
+ <option value="">------------</option>
50
+
49
- <option th:each="mp : ${slctTypeMap}" th:value="${mp.value}" th:inline="text">
51
+ <option th:each="mp : ${slctTypeMap}" th:value="${mp.value}" th:inline="text">
50
52
 
51
53
  [[${mp.key}]]</option></select></li>
52
54
 
53
- </ul>
55
+ </ul>
56
+
57
+
58
+
59
+ <script th:inline="javascript">
60
+
61
+ var mapObj = /*[[${slctTypeMap}]]*/null
62
+
63
+ // ↑これは画面表示後にF12で確認して、copy elementでscriptタグをコピーすると以下のように取れています。
64
+
65
+ // var mapObj = {"":"0","さかな":"1","とり":"2","うし":"3"};
66
+
67
+
68
+
69
+ var valueS = mapObj.get("さかな");
70
+
71
+ // がしかし、mapObj からgetで値を取ろうとすると、エラーになります。
72
+
73
+ </script> 
74
+
75
+ </body>
54
76
 
55
77
  ```
56
78
 
57
- ```javascript
79
+ エラー内容
58
80
 
59
- // これは、F12で見てみると、MAPっぽい値が取得できています。
81
+ Uncaught TypeError: mapObj .get is not a function
60
82
 
83
+ at HTMLTableElement.formatter ((index):22)
84
+
85
+ at E (jquery.jqGrid.min.js:144)
86
+
87
+ at F (jquery.jqGrid.min.js:146)
88
+
89
+ at R (jquery.jqGrid.min.js:197)
90
+
91
+ at Object.Y [as populate] (jquery.jqGrid.min.js:247)
92
+
93
+ at HTMLTableElement.reloadGrid (jquery.jqGrid.min.js:324)
94
+
95
+ at HTMLTableElement.dispatch (jquery-1.11.0.min.js:3)
96
+
97
+ at HTMLTableElement.r.handle (jquery-1.11.0.min.js:3)
98
+
61
- var mapObj = /*[[${slctTypeMap}]]*/null
99
+ at Object.trigger (jquery-1.11.0.min.js:3)
100
+
101
+ at HTMLTableElement.<anonymous> (jquery-1.11.0.min.js:3)
62
102
 
63
103
 
64
104
 
65
- // が、mapObj からgetで値を取ろうとすると、
66
-
67
- // 「mapObj はファンクションではない」といったメッセージでエラーになります。
68
-
69
- var valueS = mapObj.get("さかな");
70
-
71
- ```
72
105
 
73
106
 
74
-
75
- 知りたいのは、javaから送り込んだMAPオブジェクトjsMAPオブジェクトとて扱う方法です。
107
+ 知りたいのは、javaから送り込んだMAPオブジェクトから、size長さを取得たり、getで値を取得したりする方法です。
76
108
 
77
109
  よろしくお願いいたします。