Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.08.2010, 18:00
Интересующийся
Отправить личное сообщение для Aspiring Посмотреть профиль Найти все сообщения от Aspiring
 
Регистрация: 23.08.2010
Сообщений: 27

Создание таблицы
Доброго времени суток

Создаю таблицу. Пользователь вводит необходимое число вертикальных и горизонтальных ячеек.

Каждая клетка таблицы - input со своим значением. Все клетки - массив.

Стоит задача вывести массив в виде таблицы. Я представляю решение задачи примерно так:
rows - число вертикальных ячеек
cells - число горизонтальных ячеек
a[i] - массив, где i = rows * cells

Код:
for (i=0; i<rows*cells; i++) {
for (k=1; k<rows; k++) {
if (i == cells * k) { вписываем в HTML a[i] + вписываем в HTML код <br />,  
обрываем выполнения этой инструкции во избежание повторного написания}; 

else {просто пишем a[i],  обрываем выполнения этой инструкции 
во избежание повторного написания}
}
}
Примерно так. Как это осуществить? А именно какие коды вставлять?

Возможно есть другие более правильные пути решения задачи. Какие?
Ответить с цитированием
  #2 (permalink)  
Старый 28.08.2010, 12:09
Аватар для ixth
Профессор
Отправить личное сообщение для ixth Посмотреть профиль Найти все сообщения от ixth
 
Регистрация: 19.01.2010
Сообщений: 354

Все немного проще:
var node = '';
for (var j = 0; j < rows; j++) {
	for (var i = 0; i < cols; i++) {
		node += '<input type="text" name="' + (j * cols + i) + '" />';
	}
	node += '<br />';
}
Ответить с цитированием
  #3 (permalink)  
Старый 30.08.2010, 17:27
Аспирант
Отправить личное сообщение для MikhailGirshberg Посмотреть профиль Найти все сообщения от MikhailGirshberg
 
Регистрация: 27.07.2010
Сообщений: 72

Сообщение от Aspiring
for (i=0; i<rows*cells; i++) { for (k=1; k<rows; k++) { if (i == cells * k) { вписываем в HTML a[i] + вписываем в HTML код <br />, обрываем выполнения этой инструкции во избежание повторного написания};
вложенные циклы выглядят подозрительно: внешний перебирает все ячейки во всех строках, внутренний - все строки? Для каждой ячейки?

Последний раз редактировалось MikhailGirshberg, 30.08.2010 в 17:30.
Ответить с цитированием
  #4 (permalink)  
Старый 30.08.2010, 18:41
Интересующийся
Отправить личное сообщение для Aspiring Посмотреть профиль Найти все сообщения от Aspiring
 
Регистрация: 23.08.2010
Сообщений: 27

Да вообще тупое у меня было решение

Спасибо ixth, дал понять как надо решать подобные задачи. Помучавшись с его кодом написал свой позаимствовав некоторые моменты.
for (n=0; n<(rows*cols); n++) {
a[n] = document.createElement('input');

for (k=1; k<rows; k++) {
		if (n == rows*k)  document.getElementById('mytable').innerHTML += '<br />' ;
		}		
document.getElementById('mytable').appendChild(a[n]);

}
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как вложено прятать строки таблицы? Бобр Общие вопросы Javascript 10 01.08.2010 13:57
Динамическое создание таблицы Arfey Общие вопросы Javascript 7 10.06.2010 14:14
Ширина таблицы Syltan (X)HTML/CSS 1 01.05.2010 22:33
смена фоновой картинки у таблицы cuberboy Общие вопросы Javascript 0 15.10.2009 23:06
Фиксированный заголовок таблицы ilshat Элементы интерфейса 6 20.12.2008 00:35