質問編集履歴

2

解決済

2016/12/17 07:48

投稿

qwe001
qwe001

スコア133

test CHANGED
File without changes
test CHANGED
@@ -91,3 +91,51 @@
91
91
  上記、何か良い方法はないでしょうか?
92
92
 
93
93
  納期が迫っており、結構困っています。よろしくお願いいたします。
94
+
95
+
96
+
97
+ 追記
98
+
99
+
100
+
101
+ kei344様
102
+
103
+
104
+
105
+ 返信ありがとうございます。
106
+
107
+ > $(this) のid属性を取得して、_newを_oldに置換してそれをセレクタにする
108
+
109
+
110
+
111
+ その手がありましたね!頂いたアドバイスを元に以下のスクリプトで期待動作をすることを確認しました。
112
+
113
+ また、id名に_oldなど書かなくても可能なので、既存フォームを修正する必要もなく助かります。
114
+
115
+
116
+
117
+ ありがとうございました。またよろしくお願いいたします。
118
+
119
+
120
+
121
+ ```
122
+
123
+ // ページ読み込み完了時に、id末尾に'_new'とつく要素のvalueが全てなかった場合
124
+
125
+ if($('[id$=_new]').val().length == 0){
126
+
127
+ $('[id$=_new]').each(function(){
128
+
129
+ var new_id = $(this).attr('id'); // 各要素のid名を取得
130
+
131
+ var old_id = new_id.replace(/_new/g, ''); // 各要素のid名から'_new'の文字列を除去
132
+
133
+ var old_val = $('[id ^= ' + old_id + ']').val();
134
+
135
+ $(this).val(old_val);
136
+
137
+ });
138
+
139
+ }
140
+
141
+ ```

1

修正

2016/12/17 07:48

投稿

qwe001
qwe001

スコア133

test CHANGED
File without changes
test CHANGED
@@ -62,9 +62,9 @@
62
62
 
63
63
  $(function(){ // ページ読み込みが完了した時に、
64
64
 
65
- if($('[id$=_modify]').val().length == 0){ // idが_newで終わる要素全てのvalueが0だった場合、
65
+ if($('[id$=_new]').val().length == 0){ // idが_newで終わる要素全てのvalueが0だった場合、
66
66
 
67
- $('[id$=_modify]').each(function(){ // 各要素のidと前方一致するidが_oldで終わる要素のvalueを、
67
+ $('[id$=_new]').each(function(){ // 各要素のidと前方一致するidが_oldで終わる要素のvalueを、
68
68
 
69
69
  $(this).val($('[id$=_old]').val()); // _newに挿入する
70
70