■input要素「suryo」のフォーカスが外れたら1行追加するプログラムなのですが、追加された行の配列番号が最終行(クローン元)と同じ番号になってしまいます。javascriptでcloneする際に追加された行分行番号をプラスし、連番にしたいです。お手数ですが、ご教示お願い致します。
■下記のように、クローン処理で追加した行の配列番号が連番になるようにしたいです。(追記)
php
1<tr> 2<td><input type='text' name='h_code[1]' class='h_code' value = '$h_code[1]' ></td> 3<td><input type='text' name='name[1]' class='name' value = '$name[1]' ></td> 4<td><input type='text' name='suryo[1]' class='suryo' value = '$suryo[1]' ></td> 5</tr> 6<!-- クローン追加x行目 --> 7<tr> 8<td><input type='text' name='h_code[2]' class='h_code' value = '$h_code[2]' ></td> 9<td><input type='text' name='name[2]' class='name' value = '$name[2]' ></td> 10<td><input type='text' name='suryo[2]' class='suryo' value = '$suryo[2]' ></td> 11</tr> 12<!-- クローン追加x行目 --> 13<tr> 14<td><input type='text' name='h_code[3]' class='h_code' value = '$h_code[3]' ></td> 15<td><input type='text' name='name[3]' class='name' value = '$name[3]' ></td> 16<td><input type='text' name='suryo[3]' class='suryo' value = '$suryo[3]' ></td> 17</tr> 18・・・・追加行数($count)分・・・・・ 19 20<!-- クローン追加x行目 --> 21<tr> 22<td><input type='text' name='h_code[$i]' class='h_code' value = '$h_code[$i]' ></td> 23<td><input type='text' name='name[$i]' class='name' value = '$name[$i]' ></td> 24<td><input type='text' name='suryo[$i]' class='suryo' value = '$suryo[$i]' ></td> 25</tr>
javascript
1 $('input.suryo').on('blur', function(){ 2 $('#tbl tbody tr:last-of-type').clone(true,true).find('input').val('').end().appendTo('#tbl tbody'); 3 });
■下記全文
php
1<?PHP 2$h_code=filter_input(INPUT_POST,'h_code',FILTER_DEFAULT,FILTER_REQUIRE_ARRAY); 3$name=filter_input(INPUT_POST,'name',FILTER_DEFAULT,FILTER_REQUIRE_ARRAY); 4$suryo=filter_input(INPUT_POST,'suryo',FILTER_DEFAULT,FILTER_REQUIRE_ARRAY); 5$count=is_array($h_code)?count($h_code):1; 6 7echo" 8<script> 9document.addEventListener('formdata',e=>{ 10 e.formData.append('focus',document.activeElement.name); 11}); 12</script> 13 14<script src='https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js'></script> 15<script> 16$(function(){ 17 $('input.suryo').on('blur', function(){ 18 $('#tbl tbody tr:last-of-type').clone(true,true).find('input').val('').end().appendTo('#tbl tbody'); 19 }); 20}); 21</script> 22 23<form method='POST'> 24<table id='tbl'> 25<thead> 26<tr><th>コード</th><th>名前</th><th>数量</th></tr> 27</thead> 28<tbody> 29"; 30 31for($i=0;$i<$count;$i++){ 32 33 echo " 34 <tr> 35 <td>".$i."<input type='text' name='h_code[]' class='h_code' value = '$h_code[$i]' ></td> 36 <td><input type='text' name='name[]' class='name' value = '$name[$i]' ></td> 37 <td><input type='text' name='suryo[]' class='suryo' value = '$suryo[$i]' ></td> 38 </tr> 39 "; 40 41} 42 43echo" 44 </tbody> 45</table> 46<input type='submit' value='保存'> 47</form> 48"; 49?>
回答2件
あなたの回答
tips
プレビュー