Saya mungkin terlalu memikirkan pertanyaannya, tetapi bagaimana cara memulai kembali penghitung? Juga, seperti yang akan Anda lihat dalam kode saya, penghitung seharusnya cocok tetapi tidak. Saya ingin sel memiliki nilai bersama dari baris yang ada di dalamnya, misalnya sel baris pertama harus memiliki ID: sel 0.0, sel 0.1, tetapi telah melewatkan satu di mana angka pertama adalah satu baris di depan.

var rowCount = 0;
var cellCount = 0;

function appendRow(id, style) {
  var table = document.getElementById(id); // table reference
  length = table.length,
    row = table.insertRow(table.rows.length); // append table row
  row.setAttribute('id', style);
  var i;
  row.id = 'row' + rowCount;
  rowCount++
  console.log(rowCount, cellCount);
  // insert table cells to the new row
  for (i = 0; i < table.rows[0].cells.length; i++) {
    createCell(row.insertCell(i), i, 'cell ' + rowCount + '.' + cellCount); // doesn't start over once row changes
    cellCount++
  }
}

function createCell(cell, text, style) {
  var div = document.createElement('div'), // create DIV element
    txt = document.createTextNode('_'); // create text node
  div.appendChild(txt); // append text node to the DIV
  div.setAttribute('id', style); // set DIV class attribute
  div.setAttribute('idName', style); // set DIV class attribute for IE (?!)
  cell.appendChild(div); // append DIV to the table cell
}
table {
  text-align: center;
}
td {
  width: 100px;
}
<button id="addCust" class="addSort" onclick="appendRow('custList')">add customer</button>

<div class="custScroll">
  <table id="custListTop" contenteditable="false">
    <tr>
      <td style="border-top-left-radius: 5px;">Customers</td>
      <td style="border-top-right-radius: 5px;">Main Location</td>
    </tr>
  </table>
  <table id="custList" contenteditable="true">
    <tr>
      <td>Someone</td>
      <td>something</td>
    </tr>
  </table>
</div>
0
hannacreed 13 November 2017, 23:00

1 menjawab

Jawaban Terbaik

Saya tidak yakin ini yang Anda inginkan, tetapi jika Anda meletakkan rowCount++ setelah perulangan for, ia memulai elemen pertama pada 0 kemudian meningkat dari sana.

Jika Anda ingin sel memulai kembali, ubah createCell untuk menggunakan i alih-alih cellCount:

createCell(row.insertCell(i), i, 'cell ' + rowCount + '.' + i);
1
ShadowCommander 13 November 2017, 20:43