Есть генератор таблицы. Для суммирования стодбцов по отдельности и ячеек по горизонтали присваиваю инпутам id и name
Подскажите пожалуйста, уже неделю не могу ничего придумать. Нужно присвоить значения так чтоб они совпадали построчно. То есть если в первой строке таблицы у инпутов имена 1 2 3 4 ...., то и в последующих строках 1 2 3 4 ...... При таком варианте назначает только первой строке, если через цикл(z=0;z....) то в следующих строках значения продолжают увеличиваться.
//Создаем таблицу со всеми атрибутами
function addTableRow() {
var rowCount=+prowCount;//количество строк
var cellCount=16;
var inputCount='<input type="text" class="input_table" style="width: 90%; height: 100%;" value="" />';
// var tbl=document.getElementById('myTable');
//количество строк, опускаем на две строки
for(var i=0; i<rowCount; i++){
var row=tbl.insertRow(i+2);
var cell=row.insertCell();
cell.innerHTML=i+1;//пишет номера строк в рервом стодбце
//document.write(i+1);
for(var j=0; j<cellCount; j++){
var cell=row.insertCell(-1);//-1 означает что ячейки будут с права от предыдущих двух ячеек
//document.write(cell);
//вставляем штпуты в я чейки
cell.innerHTML=inputCount;
//Далее берем инпуты и присваиваем каждому
//свое уникальное имя и айди
var atr=document.querySelectorAll('input[class="input_table"]');
document.write(atr.length);
//document.write(j);
//for(var z=0; z<rowCount; z++){
var names=i.toString();
var ids=i.toString()+j.toString();
atr[j].name=+names;
atr[j].id=+ids;
//document.write(z);
//}
}
}
}
//addTableRow();
//Конец таблицы
Ответы (1 шт):
Автор решения: Dovgal Dima
→ Ссылка
function addTableRow() {
const rowCount = 4;
const cellCount = 4;
const tbl = document.getElementById('myTable');
for (let i = 0; i < rowCount; i++) {
const row = tbl.insertRow(i + 1);
const cell = row.insertCell();
cell.innerHTML = i + 1;
for (let j = 0; j < cellCount; j++) {
const cell = row.insertCell(-1);
const input = document.createElement('input');
input.type = 'text';
input.className = 'input_table';
input.style.width = '90%';
input.style.height = '100%';
input.value = '';
const name = `input_${i + 1}_${j + 1}`;
const id = `input_${i + 1}_${j + 1}`;
input.name = name;
input.id = id;
cell.appendChild(input);
}
}
}
addTableRow();
<table id="myTable">
<tr>
<th>Номер строки</th>
<th>Инпуты</th>
</tr>
</table>
Этот код создает таблицу с 4 строками и 4 инпутами в каждой строке и присваивает им уникальные имена и идентификаторы.