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

回答編集履歴

1

質問文編集結果に対し追記

2018/07/23 08:31

投稿

tkturbo
tkturbo

スコア5572

answer CHANGED
@@ -3,4 +3,45 @@
3
3
 
4
4
  ↑宣言している変数は「dataset」であって、「$dataset」は宣言してませんね。
5
5
 
6
- 宣言してない変数は「undefined」になりますね。
6
+ 宣言してない変数は「undefined」になりますね。
7
+
8
+
9
+ ### 質問文編集結果に対し追記
10
+ ```
11
+ //ボタン判定
12
+ $('#data1').on('click',function(){
13
+ dataset = "data1";
14
+ }
15
+
16
+ // 中略
17
+
18
+ //データ出力
19
+ for(var index in $dataset.release){
20
+ $($dataset.release[index][`val$[i]`]).appendTo('table.tbl tbody');
21
+ }
22
+ ```
23
+
24
+ ↑変数「dataset」にセットされるのは「ボタンを押したとき」です。
25
+ 「データ出力」部分が実行されるタイミングでは「dataset」は内容未定義(undefined)のままです。
26
+
27
+ また、
28
+ ```
29
+ //ボタン判定
30
+ $('#data1').on('click',function(){
31
+ dataset = "data1";
32
+ }
33
+ ```
34
+ ↑これでは「data1」という**文字列**を変数「dataset」に設定することになり、期待しているように動作はしません。
35
+
36
+ ```
37
+ //data01
38
+ var data01 = {release:[ {...},{...} ]}
39
+
40
+ // 中略
41
+
42
+ //ボタン判定
43
+ $('#data1').on('click',function(){
44
+ dataset = data01;
45
+ }
46
+ ```
47
+ ↑「data01」を変数にセットしたいならちゃんとそのように書きましょう。