powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / добавить ROWSPAN в ячейку таблицы из JavaScript
25 сообщений из 39, страница 1 из 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
25 сообщений из 39, страница 1 из 2
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / добавить ROWSPAN в ячейку таблицы из JavaScript
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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