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

回答編集履歴

2

解説つき

2017/09/08 00:50

投稿

yambejp
yambejp

スコア117914

answer CHANGED
@@ -1,37 +1,53 @@
1
1
  流れ的にはこんな感じでどうでしょうか?
2
2
 
3
3
  ```css
4
+ /*formが幅をとるのでとりあえずinlineにしておく*/
4
5
  form{display:inline}
5
6
  ```
6
7
  ```script
8
+ /*セレクトボックスから呼び出す関数、内容はダミー*/
7
9
  function imgChange(){
8
10
  console.log("call imgchange");
9
11
  }
12
+ /*ボタンを押すと呼び出される関数 テーブルに行を追加*/
10
13
  function AddTableRows(){
14
+ /*挿入したいテーブルのtbodyを"t"とする*/
11
15
  var t = document.querySelector("#table1 tbody");
16
+ /*挿入したい行を"row"とし、"row"を"t"に挿入する*/
12
17
  var row = document.createElement("tr");
13
18
  t.appendChild(row);
19
+ /*挿入したいセルを"cell"とし、"cell"を"row"に挿入する*/
14
20
  var cell = document.createElement("td");
15
21
  row.appendChild(cell);
22
+ /*"cell"にクラス"syu"を追加する*/
16
23
  cell.classList.add("syu");
24
+ /*挿入したいセルを"f"とし、"f"を"cell"に挿入する*/
17
25
  var f = document.createElement("form");
18
26
  cell.appendChild(f);
27
+ /*挿入したいセレクトボックスを"s"とし、"s"を"f"に挿入する*/
19
28
  var s = document.createElement("select");
20
29
  f.appendChild(s);
30
+ /*"s"に、"shumoku"というnameを設定する*/
21
31
  s.setAttribute("name","shumoku");
32
+ /*"s"に、onchange時に実行する関数imgChangeを設定する*/
22
33
  s.addEventListener("change",function(){imgChange();});
34
+ /*セレクトボックスに入れるoptionのvalueとテキストの一覧を作っておいて*/
23
- [
35
+ [
24
36
  {value:0,text:"aaa"},
25
37
  {value:1,text:"bbb"},
26
38
  {value:2,text:"ccc"},
27
39
  {value:3,text:"ddd"},
28
40
  {value:4,text:"eee"},
29
41
  {value:5,text:"fff"},
42
+ /*mapをつかって一覧の頭から順番に処理*/
30
43
  ].map(function(i){
44
+ /*挿入したいオプションを"o"とし、"o"を"s"に挿入する*/
31
45
  var o = document.createElement("option");
46
+ s.appendChild(o);
47
+ /*oのvalueに一覧から受け取ったオブジェクト"i"のvalue値を設定する*/
32
48
  o.setAttribute("value",i.value);
49
+ /*oのテキストに一覧から受け取ったオブジェクト"i"のtext値を設定する*/
33
50
  o.appendChild(document.createTextNode(i.text));
34
- s.appendChild(o);
35
51
  });
36
52
  }
37
53
  ```

1

調整

2017/09/08 00:50

投稿

yambejp
yambejp

スコア117914

answer CHANGED
@@ -13,7 +13,7 @@
13
13
  t.appendChild(row);
14
14
  var cell = document.createElement("td");
15
15
  row.appendChild(cell);
16
- cell.classList.add("class","syu");
16
+ cell.classList.add("syu");
17
17
  var f = document.createElement("form");
18
18
  cell.appendChild(f);
19
19
  var s = document.createElement("select");