powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / добавить ROWSPAN в ячейку таблицы из JavaScript
39 сообщений из 39, показаны все 2 страниц
добавить ROWSPAN в ячейку таблицы из JavaScript
    #35253471
migusto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Выбираю из запроса строки, размечая их тегами таблицы <TR> и <TD>. В зависимости от у словия требуется объединять для первой ячейки две строки - предыдущую и текущую. Каким образом добавлять атрибут ROWSPAN=2 в ячейку предыдущей строки средствами JavaScript?
...
Рейтинг: 0 / 0
добавить ROWSPAN в ячейку таблицы из JavaScript
    #35253498
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...setAttribute("rowspan","2",0);
...
Рейтинг: 0 / 0
добавить ROWSPAN в ячейку таблицы из JavaScript
    #35253591
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или дедовским способом: document.getElementById("td_id").rowspan = 2;

Только не забудь, что первую ячейку в следующей строке надо удалить (или в твоем случае не добавлять), иначе в этой следующей строке будет на одну ячейку больше (соответственно изменится вид всей таблицы).
...
Рейтинг: 0 / 0
добавить ROWSPAN в ячейку таблицы из JavaScript
    #35253655
Фотография illion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IDVsbruckИли дедовским способом: document.getElementById("td_id").rowspan = 2;

да, но только rowSpan
...
Рейтинг: 0 / 0
добавить ROWSPAN в ячейку таблицы из JavaScript
    #35253739
migusto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IDVsbruckИли дедовским способом: document.getElementById("td_id").rowspan = 2;

Только не забудь, что первую ячейку в следующей строке надо удалить (или в твоем случае не добавлять), иначе в этой следующей строке будет на одну ячейку больше (соответственно изменится вид всей таблицы).
Спасибо за подсказку. Попробовал вызывать эту функцию по событию OnLoad для тега TR текущей (второй) строки и ничего не произошло.
...
Рейтинг: 0 / 0
добавить ROWSPAN в ячейку таблицы из JavaScript
    #35253860
migusto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте! По какому событию и где нужно помещать вызов функции с document.GetElementById("td_id").rowSpan = 2 чтобы он оработало при добавлении строк?
...
Рейтинг: 0 / 0
добавить ROWSPAN в ячейку таблицы из JavaScript
    #35254000
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
<html>
<head>
<script>
function ld(){
document.getElementById("my_td1").rowSpan= 2 ;
document.getElementById("my_td2").removeNode();
}
</script>
</head>
<body onload="ld();">
<table border="1">
<tr><td>ячейка11<td>ячейка12<td>ячейка13
<tr><td id="my_td1">ячейка21<td>ячейка22<td>ячейка23
<tr><td id="my_td2">ячейка31<td>ячейка32<td>ячейка33
</table>
</body>
</html>
...
Рейтинг: 0 / 0
добавить ROWSPAN в ячейку таблицы из JavaScript
    #35254036
migusto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, ShSerge!
...
Рейтинг: 0 / 0
добавить ROWSPAN в ячейку таблицы из JavaScript
    #35254061
migusto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Подскажите, пожалуйста, об автонумерации ячеек, поскольку формирую их "пробегая" по строкам запроса в цикле.
Приходит мысль использовать для этого счетчик цикла HTP.PRINT('<TD id' || cnt (фрагмент из Oracle PL/SQL).
...
Рейтинг: 0 / 0
добавить ROWSPAN в ячейку таблицы из JavaScript
    #35254092
migusto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Алгоритм следующий:
1)объявить массив для идентификаторов группируемых ячеек в секции <script>...</script>
2)в цикле формирования таблицы помещать в этот массив идентификаторы группируемых ячеек
3)вызвать со бытию OnLoad функцию ld() из примера ShSerge которая "пробежит" по массиву идентификатров.

Вопрос возникает со вторым шагом - поместить в массив идентификаторы группируемых ячеек.
Как получить доступ к этому массиву для помещения в него идентификаторов группируемых ячеек?
...
Рейтинг: 0 / 0
добавить ROWSPAN в ячейку таблицы из JavaScript
    #35254562
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Этот код, что я написал токо в эксплорере работает - просто было лень ремовеНоде или ремовеЧилд искать.
------------
Вопрос: нафига делать на клиенте то, что гораздо проще сделать на сервере? Имею ввиду хттп сервер. Но, если у тебя (Вас) MSSQL сервер - проще табличку там и сформировать.
...
Рейтинг: 0 / 0
добавить ROWSPAN в ячейку таблицы из JavaScript
    #35254862
Фотография illion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1.
migustoАлгоритм следующий:
1)объявить массив для идентификаторов группируемых ячеек в секции <script>...</script>
2)в цикле формирования таблицы помещать в этот массив идентификаторы группируемых ячеек
...
Вопрос возникает со вторым шагом - поместить в массив идентификаторы группируемых ячеек.
Как получить доступ к этому массиву для помещения в него идентификаторов группируемых ячеек?
вы хотите что ли из еще не сформированной страницы обращаться к ее js-объектам? Так не получится. Если хочется массив создать, то вписывайте его в страницу просто текстом ("var arr=[1,2,3]").

2. Легче задать условие объединения ячеек, чем передавать массив их id. Например, если первая ячейка строки пустая, то объединить ее с предыдущей:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
<script>
function reBuildTable(tbl){
	var row;
	for (var i= 1 ; i < tbl.rows.length; i++)
	{
		if ( tbl.rows[i].cells[ 0 ].innerHTML == '') 
			{
				tbl.rows[i].cells[ 0 ].removeNode(true);
				tbl.rows[i- 1 ].cells[ 0 ].rowSpan= 2 ;
			}
	}
}
window.onload = function() { reBuildTable(document.getElementById('test')); }
</script>
<table id="test" border="1">
<tr><td> 1 </td><td>qwert</td></tr>
<tr><td></td><td>asdfg</td></tr>
<tr><td> 23 </td><td>zxcvb</td></tr>
</table>

3. а в самом деле, что именно мешает вам сделать это сразу на сервере? К предыдущей строке таблицы не можете что ли обратиться?
...
Рейтинг: 0 / 0
добавить ROWSPAN в ячейку таблицы из JavaScript
    #35255932
migusto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
illion2. Легче задать условие объединения ячеек, чем передавать массив их id. Например, если первая ячейка строки пустая, то объединить ее с предыдущей:

Спасибо большое! Ваш пример - то, что доктор прописал.

Порекомендуйте, пожалуйста, книги с описанием DOM и JavaScript, а также электронные источники.
...
Рейтинг: 0 / 0
добавить ROWSPAN в ячейку таблицы из JavaScript
    #35256050
Фотография illion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
migustoПорекомендуйте, пожалуйста, книги с описанием DOM и JavaScript, а также электронные источники.
вам сюда - w3schools.com . Найдете и DOM, и JS, и еще много чего, и по всему этому учебники, справочники и примеры. Если хотите книгу, да еще как всегда непременно в русском переводе, то лучше чем "JavaScript. Подробное руководство" Флэнагана вряд ли найдете (имхо, конечно).
...
Рейтинг: 0 / 0
добавить ROWSPAN в ячейку таблицы из JavaScript
    #35256443
migusto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
illion1.
Легче задать условие объединения ячеек, чем передавать массив их id. Например, если первая ячейка строки пустая, то объединить ее с предыдущей:

Здравствуйте!
Скажите как добавить строку к таблице?
Если есть функция удаления узла, то должна быть функция добавления
...
Рейтинг: 0 / 0
добавить ROWSPAN в ячейку таблицы из JavaScript
    #35256522
migusto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Имел ввиду добавить строку к таблице как копию предыдущей строки.
...
Рейтинг: 0 / 0
добавить ROWSPAN в ячейку таблицы из JavaScript
    #35256743
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Выбрать строку пускай элемент называется el.
2. У el есть el.parentNode - TBODY.
3. Клонировать clon=el.cloneNode(true);
4. el.parentNode.appendChild(clon);
Как вариант insertBefore. Можно также создать строчку и присвоить ей innerHTML исходной.
...
Рейтинг: 0 / 0
добавить ROWSPAN в ячейку таблицы из JavaScript
    #35257740
migusto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
illion1.
Код: plaintext
1.
2.
3.
4.
<script>
function reBuildTable(tbl){
	var row;
	for (var i= 1 ; i < tbl.rows.length; i++)

Здравствуйте! А как узнать количество столбцов в конкретной строке таблицы, самой таблицы?
Код tbl.cols.length не работает.
...
Рейтинг: 0 / 0
добавить ROWSPAN в ячейку таблицы из JavaScript
    #35257809
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...children.length
...
Рейтинг: 0 / 0
добавить ROWSPAN в ячейку таблицы из JavaScript
    #35257816
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пардон childNodes.length
...
Рейтинг: 0 / 0
добавить ROWSPAN в ячейку таблицы из JavaScript
    #35258249
migusto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
illion1.
[quot migusto]
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
<script>
function reBuildTable(tbl){
	var row;
	for (var i= 1 ; i < tbl.rows.length; i++)
	{
		if ( tbl.rows[i].cells[ 0 ].innerHTML == '') 
			{
				tbl.rows[i].cells[ 0 ].removeNode(true);
				tbl.rows[i- 1 ].cells[ 0 ].rowSpan= 2 ;
			}
	}
            row = tbl.rows.length;
            tbl.insertRow(row);
}
window.onload = function() { reBuildTable(document.getElementById('test')); }
</script>
<table id="test" border="1">
<tr><td> 1 </td><td>qwert</td></tr>
<tr><td></td><td>asdfg</td></tr>
<tr><td> 23 </td><td>zxcvb</td></tr>
</table>
...
Рейтинг: 0 / 0
добавить ROWSPAN в ячейку таблицы из JavaScript
    #35258267
migusto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте! К последнему вопросу.
Пытался добавить к таблице строку строчкой кода tbl.insertRow(tbl.rows.length) и ничего не происходит.
Каким образом добавить строчку к таблице?
...
Рейтинг: 0 / 0
добавить ROWSPAN в ячейку таблицы из JavaScript
    #35258331
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А почему вы решили, что ничего не происходит? Кол-во строк проверяли после добавления? Если в строке нет ячеек, а в ячейках еще чего-нибудь, то ее не будет видно.
...
Рейтинг: 0 / 0
добавить ROWSPAN в ячейку таблицы из JavaScript
    #35258349
migusto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Проверял.
Во-первых, видно визуально.
Во-вторых, вставлял код for(var j=0; j<3; j++) {tbl.rows[row].insertCell(j); tbl.rows[row].cells[j].innerHTML = "0";}
...
Рейтинг: 0 / 0
добавить ROWSPAN в ячейку таблицы из JavaScript
    #35259360
migusto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте! Все разобраля - ошибки из-за невнимательности. Всем спасибо за ответы.
...
Рейтинг: 0 / 0
добавить ROWSPAN в ячейку таблицы из JavaScript
    #35260231
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не пользуйся этими ровсами и колсами. Ёлки-палки, дом и в3ц - тебе в руки.
...
Рейтинг: 0 / 0
добавить ROWSPAN в ячейку таблицы из JavaScript
    #35260502
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подожди ... а как еще можно объединить ячейки?
...
Рейтинг: 0 / 0
добавить ROWSPAN в ячейку таблицы из JavaScript
    #35260529
Фотография illion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeНе пользуйся этими ровсами и колсами. Ёлки-палки, дом и в3ц - тебе в руки.
угу, пользуйся createElement, appendChild и childNodes. Только кода получится больше. Только childNodes не всегда правильно будет работать, потому что если, например, между </td> и <td> в хтмл-коде есть какой-нибудь знак (пробел, перевод строки - если код оформлен не в одну строку), то в фф и опере он тоже будет посчитан за childNode, а в IE не будет. Только работают эти методы медленнее всего (на маленьких таблицах не заметно, но мне вот недавно довелось с помощью js обрабатывать в браузере монструазный годовой отчет 35столбцов х 3000 строк, в нем время рендеринга отличалось очень существенно. Хотя в итоге вообще оказалось, что рулит innerHTML).

Да и потом, коллекции rows и cols, методы insertRow и т.п. входят в DOM-модель таблицы, че вы на них набросились то. w3schools.com/htmldom/dom_obj_table .

Нет, я конечно использую в таблицах createElement, appendChild и childNodes. Но только если уверена, что это не выльется потом в проблемы.

IDVsbruckПодожди ... а как еще можно объединить ячейки?
что ты имеешь в виду?
tdObject.colSpan, tdObject.rowSpan независимо от того, как был получен tdObject (getElementById, childNodes или rows [cols[j])
...
Рейтинг: 0 / 0
добавить ROWSPAN в ячейку таблицы из JavaScript
    #35263079
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
illion
Я был неправ. В своё время динамически создавал табличку через аппендЧилд. Работало медленно, когда стал писать "ИннерХТМЛ+=" - все проблемы с шустродействием решились.
Ну таки не кузяво же!?
...
Рейтинг: 0 / 0
добавить ROWSPAN в ячейку таблицы из JavaScript
    #35264658
migusto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуте!
Вопрос по поводу innerHTML и числовых значений в ячейках таблицы.
Ячейки таблицы заполнены числами. Когда между метками <TD> и <TD/> находится только само значение и символ пробела &nbsp, то получение содержимого ячейки и преобразование его в числовое значение функцией parseInt(tbl.rows .cols[j].innerHTML) происходит без проблем.
Когда потребовалось добавить ссылки на каждое число каждой ячейки, то числовое значение уже не могу получить. Понимаю, что в свойстве innerHTML отображается содержимое ячейки со всеми метками. Свойство innerTEXT почему-то дает undefined.
Как лучше поступить в моем случае?
...
Рейтинг: 0 / 0
добавить ROWSPAN в ячейку таблицы из JavaScript
    #35264681
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
migustoКак лучше поступить в моем случае?
Как вариант, само значение засунуть в <div> (например), дать каждому диву id и брать значение из уже из дива...
...
Рейтинг: 0 / 0
добавить ROWSPAN в ячейку таблицы из JavaScript
    #35264737
migusto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsaКак вариант, само значение засунуть в <div> (например), дать каждому диву id и брать значение из уже из дива...
Когда в DIV поместил значение, то все мое форматирование потерялось.
Как в коде выглядит отбор значения из DIV по ID?
...
Рейтинг: 0 / 0
добавить ROWSPAN в ячейку таблицы из JavaScript
    #35264838
Фотография illion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
migustoСвойство innerTEXT почему-то дает undefined
ну еще бы. Нет свойства innerTEXT. Есть innerText. Но FF его по-моему не понимает (не помню, проверьте).
как вариант можно отрезать все теги внутри ячейки:
Код: plaintext
var number = tdObject.innerHTML.replace(/<.*?>/g, '');

migusto
Как в коде выглядит отбор значения из DIV по ID?
так же, как и из всего остального. document.getElementById("div_id").innerHTML.

Купите/скачайте книгу по Javascript, пользуйтесь онлайн-мануалами. Такие вопросы даже чайники не задают.
...
Рейтинг: 0 / 0
добавить ROWSPAN в ячейку таблицы из JavaScript
    #35264865
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
migustoКогда в DIV поместил значение, то все мое форматирование потерялось.
Пример кода можно посмотреть...
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
добавить ROWSPAN в ячейку таблицы из JavaScript
    #35972938
Аввв
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
migusto,

а у меня вот какой вопрос, а как объединить две ячейки, чтобы при этом и обединились значения.
Например были Ячейка11 и Ячейка 22, а стало Ячейка11Ячейка22 ???? Помогите плиз
...
Рейтинг: 0 / 0
добавить ROWSPAN в ячейку таблицы из JavaScript
    #35973051
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Аввв,

Никак, если я вопрос понял правильно.
...
Рейтинг: 0 / 0
добавить ROWSPAN в ячейку таблицы из JavaScript
    #36197728
ADVO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может кому пригодиться - если требуется работа со множеством столбцов объединять столбцы начиная с большего.
Иначе, при удалении ячейки сдвигается нумерация.
...
Рейтинг: 0 / 0
добавить ROWSPAN в ячейку таблицы из JavaScript
    #36197902
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, блин, гость молодец ... а мы, бедолаги, вот уже пятый месяц головы сушим. А он какая умница - заглянул на форум и сразу бац! - и давай вопросы как орешки щелкать.

Адво, погляди, там еще пару сот вопросов нерешенных за полгода - выручи, плиз ...
...
Рейтинг: 0 / 0
добавить ROWSPAN в ячейку таблицы из JavaScript
    #36197923
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ADVO,

А слабо объединить ячейки "ячейка11" и "ячейка22", как хотел Аввв ? Пиво проставляю, если сможешь (как я понял по циферкам, это - по диагонали).
...
Рейтинг: 0 / 0
39 сообщений из 39, показаны все 2 страниц
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / добавить ROWSPAN в ячейку таблицы из JavaScript
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]