我想根据我填写的最后一行克隆具有相同值的行。这是我的应用程序截图。
这是我的代码:
function addTableRowHasilProduksi() {
row = parseInt($('#tableRowHasilProduksi').val()) + 1;
$('#plusButtonHasilProduksi').remove();
var html = ' \
<tr id="rowTableHasilProduksi_' + row + '"> \
<td> \
<select id="typepartid_' + row + '" class="form-control" onchange="myFunction(' + row + ')" name="typepartid_' + row + '"> \
' + htmlPartId + ' \
</td> \
<td>\
<select id="hasilproduksi_' + row + '" class="form-control" placeholder="select" onchange="hasilProduksiChage(' + row + ')" name="hasilproduksi_' + row + '"> \
<option value="-">--Select--</option>\
<option value="Good">Good</option>\
<option value="Repair">Repair</option>\
<option value="Reject">Reject</option>\
</select> \
</td> \
<td><input id="qty_' + row + '" type="text" class="form-control" onkeydown="return numbersonly(this, event);" onkeyup="javascript:tandaPemisahTitik(this);" name="qty_' + row + '" /> \
</td> \
<td><input id="waktu_' + row + '" type="text" class="form-control" name="waktu_' + row + '" onfocusout="waktuOnFocusOut(this)" onfocusin="waktuOnFocusIn(this)"/></td> \
<td id="tdTypeReject_' + row + '"> \
<select id="typereject_' + row + '" class="form-control" name="typereject_' + row + '"> \
' + htmlTypeReject + ' \
</select> \
</td> \
<td><input id="keteranganreject_' + row + '" type="text" class="form-control" name="keteranganreject_' + row + '"/></td> \
<td><button type="button" class="btn btn-sm btn-default" onclick="deleteRowHasilProduksi(' + row + ')">x</button></td> \
</tr> \
<tr id="plusButtonHasilProduksi"> \
<td colspan="7"><button type="button" class="btn btn-sm btn-default" style="width:100%" onclick="addTableRowHasilProduksi()">+</button></td> \
</tr>';
$('#tableHasilProduksi > tbody').append(html);
//variable row table add +1
$('#tableRowHasilProduksi').val(row);
$('#plusButtonHasilProduksi').attr('onclick', 'addTableRowDowntime()');}
任何帮助都可以表示赞赏。
答案 0 :(得分:0)
好的,所以我已经提取了一些东西,以使这更简单。首先假设您的第一行始终可见,您不需要将模板存储在js中。只需使用dom获取模板即可。
您需要做的就是获取要复制的行。
var lastTableRow = $("#tableRowHasilProduksiBody tr:nth-last-child(2)" )
获取该选择的值。
var selectedValue = $( lastTableRow ).find('.typepartid').val();
克隆行。
var newRow = lastTableRow.clone();
获取行数
var rowCount = $('.rowTableHasilProduksi').length;
进行属性操作并将其添加回dom。
$( newRow ).find('.typepartid').val(selectedValue);
// Set to blank and Add Ids,.. Etc here
$( newRow ).find('.hasilproduksi').val('-').attr('name','DataName' + rowCount );
这很简单。这是jsbin希望这有帮助。