Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Добавление строк в таблицу (https://javascript.ru/forum/misc/13357-dobavlenie-strok-v-tablicu.html)

MCTrane 27.11.2010 23:41

Добавление строк в таблицу
 
Сделал таким образом:
<table><tbody id=test>
<tr><td>текст</td></tr>
<tr><td>текст 2</td></tr>
</tbody>
<tr><td>текст 3</td></tr>
</table>

function test(){
document.getElementById('test').innerHTML+="<tr><td><input id=test2 type=text value=''></td></tr>";
}

Т.е. после строки "текст 2", добавляется строка с полем для ввода при вызове функции test()
Но столкнулся с проблемой: если я ввиду в поле для ввода текст и после ещё раз вызову функцию test(), то тот текст который я ввёл пропадал, как избавиться от такой проблемы?

dmitriymar 27.11.2010 23:50

писать в другие ячейки таблицы. а так пишеш в одну и туже. у тебя всё правильно работает-в соответствии с тем что ты запрограмировал

MCTrane 27.11.2010 23:54

Почему в одну и туже?
Дай код который ты предлагаешь?

monolithed 28.11.2010 00:01

MCTrane

Для добавления строк и столбцов в таблицу используйте специальные методы:
insertRow()/deleteRow(), insertCell()/deleteCell, moveRow()

MCTrane 28.11.2010 09:50

А как задать ID строки, столбцов или стиль?

monolithed 28.11.2010 10:06

Цитата:

Сообщение от MCTrane
А как задать ID строки, столбцов или стиль?

По порядковому номеру элемента

MCTrane 28.11.2010 10:13

По подробнее можно?

exec 28.11.2010 12:34

var myTr = myTable.insertRow(3);	// четвёртая строка в myTable
myTr.id = "foo";			// присваиваем id
var myTd = myTr.insertCell(0);		// первая ячейка в myTr
myTd.className = "bar";			// присваиваем класс

MCTrane 28.11.2010 14:36

Спасибо, в мозиле и я думаю во всех браузерах работает, но как всегда IE всё настроение портит( Он строку добавляет, ид присваивает, но не делает вот это:
document.getElementById("test5").innerHTML="<td><input id=jk value=''></td><td>6</td>";

Вот мой код:
var nRow=document.getElementById("test").insertRow(-1);
nRow.id="test5";
document.getElementById("test5").innerHTML="<td><input id=jk value=''></td><td>6</td>";


Как добиться того чтобы в ИЕ этот код работал? Подскажите пожалуйста...

exec 28.11.2010 14:37

В IE с таблицами можно работать только через специальные методы: insertCell, insertRow и т.д.


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