回答編集履歴
2
.
test
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
"change",function(e){shiborikomi(parent_,child_,n)});
|
6
6
|
}
|
7
7
|
```
|
8
|
-
この `shiborikomi(parent_,child_,n)` で参照される変数 `parent_` `child_` `n` はどこにも宣言されていませんから、グローバル変数です。change イベントが発生したとき、それ以前で最後に代入された値を参照します。
|
8
|
+
この `shiborikomi(parent_,child_,n)` で参照される変数 `parent_` `child_` `n` はどこにも宣言されていませんから、グローバル変数です。change イベントが発生したとき、それ以前で最後に代入された値を参照します。`for` ループの1回目でイベントリスナが登録され、`for` ループの2回目で変数の値が更新され、その後で登録されたイベントリスナが呼ばれます。
|
9
9
|
|
10
10
|
変数宣言を適切に行ってローカル変数にすれば直ると思います。
|
11
11
|
|
1
.
test
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
```
|
8
8
|
この `shiborikomi(parent_,child_,n)` で参照される変数 `parent_` `child_` `n` はどこにも宣言されていませんから、グローバル変数です。change イベントが発生したとき、それ以前で最後に代入された値を参照します。
|
9
9
|
|
10
|
-
変数宣言を適切に行
|
10
|
+
変数宣言を適切に行ってローカル変数にすれば直ると思います。
|
11
11
|
|
12
12
|
```js
|
13
13
|
for (let a of arr) {
|
@@ -15,7 +15,7 @@
|
|
15
15
|
const parent_ = a[1];
|
16
16
|
const child_ = a[2];
|
17
17
|
document.getElementsByName(parent_)[0].addEventListener(
|
18
|
-
"change", function(e) { shiborikomi(parent_, child_, n)});
|
18
|
+
"change", function(e) { shiborikomi(parent_, child_, n); });
|
19
19
|
}
|
20
20
|
```
|
21
21
|
|