如何克隆行的价值

时间:2017-11-02 02:30:04

标签: javascript

我想根据我填写的最后一行克隆具有相同值的行。这是我的应用程序截图。

  1. https://drive.google.com/open?id=0B9_Xi3waidNLUE0zaHlONHNWcjQ
  2. 我的预期结果https://drive.google.com/open?id=0B9_Xi3waidNLYnVnVFlhSUx4WWM
  3. 这是我的代码:

    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()');}
    

    任何帮助都可以表示赞赏。

1 个答案:

答案 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希望这有帮助。