私は動的な編集フォームを作成しようとしています。ユーザーは、行を追加したり、行を削除したりすることができます。動的入力フィールドに複数の行を表示
私のPHPでは問題ありません。問題はMy Jqueryにあります。ここで
は私のHTML
<?php
$attributes = array('class' => 'form-horizontal', 'id' => '');
echo form_open_multipart($controller.'/save',$attributes);
?>
<div class="form-group">
<label class="col-sm-3 control-label">Attendance Date </label>
<div class="col-sm-7">
<div class="input-group">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input id="datetimepicker_mask" type="text" value="<?=inggris_date($master->startdate)?>" readonly name="attendance_date" class="form-control"/>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">Keterangan</label>
<div class="col-sm-5">
<textarea class="form-control" required name="keterangan"><?=$master->keterangan;?></textarea>
</div>
</div>
<table width="100%" id="example1" class="table table-bordered table-striped">
<tr> <td>
No.
</td>
<td> Nama Lengkap </td>
</tr>
<?php
$x = 0;
foreach($detail as $det) {
$x++;
?>
<tr id = 'ke<?=$x;?>'>
<td> <?=$x;?> </td>
<td>
<select name="nip[]" class="form-control select2">
<option> -- </option>
<?php foreach($emp as $orang){ ?>
<option <?php if($det->nip == $orang->Nip) echo "selected"; ?> value="<?=$orang->Nip;?>"> [<?=$orang->Nip;?>] - [<?=$orang->FullName;?>] </option>
<?php } ?>
</select>
</td>
</tr>
<?php } ?>
</table>
<div><a id="add_row" class="btn btn-success pull-left">Tambah Baris Baru</a> <a id="delete_row" class="pull-left btn btn-danger">Hapus Baris</a></div>
<br>
<br>
<div class="box-footer">
<button type="reset" class="btn btn-default">Reset</button>
<button type="submit" class="btn btn-info pull-right">Save</button>
</div><!-- /.box-footer -->
</form>
であり、ここで私のjqueryのは、だから、
<?php $totaldata = count($detail); echo "Total data = ".$totaldata; ?>
<script type="text/javascript">
$(document).ready(function(){
var i=<?=$totaldata;?>;
$("#add_row").click(function(){
$('#ke'+i).html("<td>"+ (i+1) +"</td><td><select name='nip[]' class='form-control'>"+
"<option> -- </option>"+
<?php foreach($emp as $orang){ ?>
"<option value='<?=$orang->Nip;?>'> [<?=$orang->Nip;?>] - [<?=$orang->FullName;?>] </option>"+
<?php } ?>
"</select> </td>");
$('#example1').append('<tr id="ke'+(i+1)+'"></tr>');
i++;
});
$("#delete_row").click(function(){
if(i>1){
$("#ke"+(i-1)).html('');
i--;
}
});
});
</script>
あり、ここに私の問題は、最初の時間から、ページの読み込みです。ビューは、この
のようなものです。そしてここに私が行っているTambah Baris Baru
二行をクリックしたときに起こるものです。番号は間違っています。
そして起こる何これは私が予想通りHapus Baris
それは仕事だをクリックします。しかし番号は間違っています。
どうすれば修正できますか?私の悪い英語のために申し訳ありません。ありがとう。
JsFiddle https://jsfiddle.net/0z2fcg39/
私はあなたがVARを加算または減算されている場合、それは増加の問題であると言うでしょう私 – Icewine
私はそう思います。しかし、私は詳細から来る 'totaldata 'で価値を与えることを試みている。 – YVS1102
あなたが最後のものを削除したい行を削除すると、私のフィドルhttps://jsfiddle.net/0z2fcg39/ – YVS1102