回答編集履歴

2

再追記

2018/01/16 04:45

投稿

sousuke
sousuke

スコア3828

test CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
 
6
6
 
7
- 追記
7
+ #追記
8
8
 
9
9
  実験はしていませんが…
10
10
 
@@ -18,44 +18,34 @@
18
18
 
19
19
 
20
20
 
21
- ```javascript
22
-
23
- var content = '';
24
-
25
- var next_idx = $('#test_tbody').children().length;
26
-
27
- next_idx++;
21
+ 長いので削除しました。
28
22
 
29
23
 
30
24
 
31
- // content += '{assign var=\'i\' value=0}';
32
-
33
- content += '<tr>';
25
+ こんな感じでしょうか…他にも色々サーバー側の記述がありますが都度変更してください。
34
-
35
- content += '<td><input type="radio" id="in_test_radio{$i}" name="test_radio['+next_idx+']" value="'+next_idx+'" /></td>';
36
-
37
- content += '<td><select name="test_info" id="select_test_info'+next_idx+'" data-native-menu="true">';
38
-
39
- content += '</select></td>';
40
26
 
41
27
 
42
28
 
43
- content += '<td><input type="text" name="test_d_name['+next_idx+']" value="" placeholder="名" /></td>';
29
+ #再追記
44
30
 
45
- content += '<td><input type="text" name="test_address['+next_idx+']" value="" placeholder="住所" /></td>';
31
+ 毎回イベントリスナーをaddするのは面倒なのでselectと値を代入するtextは何かしらの
46
32
 
47
- content += '<td><button type="button" id="btn_del_test'+next_idx+'" class="deleteTest ui-btn ui-shadow ui-corner-all ui-btn-icon-left ui-icon-delete">削除</button></td>';
48
-
49
- content += '</tr>';
33
+ 関連性を使って代入するといいと思います。
50
-
51
- $('#test_tbody').append(content);
52
34
 
53
35
 
54
36
 
55
- // selectの中身を足す
37
+ ```javascript
56
38
 
39
+ $(document).on('change','select',function(){
40
+
41
+ //changeしたselectが入っているtdから見て1つ右のtdのinputに代入
42
+
57
- $('#select_test_info'+next_idx).append($('#select_test_info').children().clone(true));
43
+ $($(this).parents("td").eq(0)).nextAll().eq(0).children("input").eq(0).val("aaa");
44
+
45
+ //changeしたselectが入っているtdから見て2つ右のtdのinputに代入
46
+
47
+ $($(this).parents("td").eq(0)).nextAll().eq(1).children("input").eq(0).val("bbb");
48
+
49
+ });
58
50
 
59
51
  ```
60
-
61
- こんな感じでしょうか…他にも色々サーバー側の記述がありますが都度変更してください。

1

対応追記

2018/01/16 04:45

投稿

sousuke
sousuke

スコア3828

test CHANGED
@@ -1,3 +1,61 @@
1
1
  Smartyはよく存じ上げないのですがクライアント側のjavascriptで
2
2
 
3
3
  サーバーサイド(tpl)のコードを書いても解釈してもらえないと思います。
4
+
5
+
6
+
7
+ 追記
8
+
9
+ 実験はしていませんが…
10
+
11
+ ```html
12
+
13
+ <select name="test_info" id="select_test_info" data-native-menu="true">
14
+
15
+ ```
16
+
17
+ ここの中身をコピーするといいのではと見ました。もともとですがid="select_test_info"などが重複してます…
18
+
19
+
20
+
21
+ ```javascript
22
+
23
+ var content = '';
24
+
25
+ var next_idx = $('#test_tbody').children().length;
26
+
27
+ next_idx++;
28
+
29
+
30
+
31
+ // content += '{assign var=\'i\' value=0}';
32
+
33
+ content += '<tr>';
34
+
35
+ content += '<td><input type="radio" id="in_test_radio{$i}" name="test_radio['+next_idx+']" value="'+next_idx+'" /></td>';
36
+
37
+ content += '<td><select name="test_info" id="select_test_info'+next_idx+'" data-native-menu="true">';
38
+
39
+ content += '</select></td>';
40
+
41
+
42
+
43
+ content += '<td><input type="text" name="test_d_name['+next_idx+']" value="" placeholder="名" /></td>';
44
+
45
+ content += '<td><input type="text" name="test_address['+next_idx+']" value="" placeholder="住所" /></td>';
46
+
47
+ content += '<td><button type="button" id="btn_del_test'+next_idx+'" class="deleteTest ui-btn ui-shadow ui-corner-all ui-btn-icon-left ui-icon-delete">削除</button></td>';
48
+
49
+ content += '</tr>';
50
+
51
+ $('#test_tbody').append(content);
52
+
53
+
54
+
55
+ // selectの中身を足す
56
+
57
+ $('#select_test_info'+next_idx).append($('#select_test_info').children().clone(true));
58
+
59
+ ```
60
+
61
+ こんな感じでしょうか…他にも色々サーバー側の記述がありますが都度変更してください。