Возвращает HTML для новой строки
Вопрос: Я должен динамически отображать ячейку, и в каждой строке должно быть по 3 ячейки. Я хочу узнать, сколько строк ему нужно, и если пользователь введет 7, первые две строки отобразят по 3 ячейки в каждой, а в третьей строке будет отображаться только 1 ячейка.
код:
var cells = document.getElementsByTagName('td');
var cell = '<td>' + cells[0].innerHTML + '<td>';
//console.log(cell);
document.getElementById('searchBtn').onclick = search;
var NUMPERROW = 3;
function search(){
var num = document.getElementById('searchTxt').value;
//Loop Once per Row.
var htmlStr = '';
for (var i = 0; i < num ; i = i + NUMPERROW){
//htmlStr += '<tr>' + cell + cell + cell + '<tr>';
if(num - i >= NUMPERROW){
htmlStr += newRow(NUMPERROW);
}else{// less than 3 to display
htmlStr += newRow(num - i);
}
}
document.getElementById('thumbnails').innerHTML = htmlStr;
}
/*
* Returns the html for a new row.
* numToAdd: the number of cells to add for this row.
*/
function newRow(cellsToAdd){
}
1 ответ
Если я правильно понял ваш вопрос, вы можете получить количество ячеек, которое нужно добавить, используя
newRow = NUMPERROW - (num % NUMPERROW)
где% - оператор по модулю: 7 % 3 - напоминание о 7 / 3, то есть 1