Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   как вставить строки в таблицу? (https://javascript.ru/forum/events/26099-kak-vstavit-stroki-v-tablicu.html)

Yurik 25.02.2012 19:18

как вставить строки в таблицу?
 
есть таблица, например из 10 строк, нужно при клике на 5 строку (или 3, вобщем на любую не последнюю) вставить ниже этой строки новые строки (полученные аяксом)
нашел метод
table.insertRow(integer);
но как определить номер текущей строки?

nikita.mmf 25.02.2012 21:12

var tableElement = document.getElementById('myTable');
var countOfCell = 5; //for example
table.onclick = function ( eventObj ) {
	var target = eventObj && eventObj.target || window.event.srcElement;
	while ( target.nodeName.toLowerCase() != 'tr' ) {//get table row
		target = target.parentNode;
	}
	var nextTableRow = target.nextSibling;
	while ( nextTableRow && nextTableRow.nodeType != 1 ) {
		nextTableRow = nextTableRow.nextSibling;
	}
	if ( !nextTableRow ) return;//last row
	var currenIndexRow = 0, 
		tableRow = target.previousSibling;
	while ( tableRow ) {
		if ( tableRow.nodeType == 1 ) {
			currenIndexRow++;
		}
		tableRow = tableRow.previousSibling;
	}
	var newRow = tableElement.insertRow( currenIndexRow + 1 );
	for ( var i = 0, newCell; i < countOfCell; i++ ) {//create new cell
		newCell = newRow.inserCell(i);
		newCell.appendChild ( document.createTextNode( "Cell" + i ) );
	}
}

В коде могут быть неточности, надеюсь идея ясна.

Yurik 29.02.2012 17:14

да, спасибо


Часовой пояс GMT +3, время: 10:05.