Обмен содержимым между ячейками таблицы.
Суть задачи такова:
Есть таблица, в которой есть данные. Нужно поменять местами содержимое между ячейками. К примеру [1,1] и [2,7]. Информация от номерах обмена вводится с 4-х textfield. Пишу такой код. Пока для начала, чтоб хоть в одной строке менялось. function StrObmen (Stroka,Stolb1,Stolb2,table){ var row = table.rows(Stroka); //определяем строку с которой будем работать var cell = row.cells(Stolb1); // определем 1-ю ячейку для обмена var abcd = cell.innerHTML; // создаем переменную и сохраняем в ней содержимое первой ячейки var cell1 = row.cells(Stolb2); // определяем вторую ячейку cell.innerHTML = cell1.innerHTML; //присваеваем данные второй ячейки первой cell1.innerHTML = abcd; //присваиваем второй ячейке сохраненные данные первой. И если я понимаю как такое написать в делфе, C++, то тут на убей не пойму че нужно делать... И еще одна маленькая просьбочка: дайти если кто знает ссылчку на вменяемый справочник, где для каждого тега HTML расписан доступ к атрибутам из скрипта. Буду ну очень благодарен. |
А что конкретно не работает? Результат не тот или что?
я использую http://msdn.microsoft.com/en-us/libr...40(VS.85).aspx Правда далеко не все совпадает с не IE браузерами. Но по основным моментам одинаково. |
За ссылочку спасибо. Хотя не то, что я просил, но все равно нашел много нужного. Мне нужно понять синтаксис команд как к примеру в делфи: Form1.StringGrid1.Cells[1,1] - доступ к содержимому напрямую.
В опере страничка просто обновляется. В ИЕ пишет, что ошибка и сразу обновление - не успеваю даже глянуть че за ошибка. Но синтаксис верен? Так. Вот че выдала опера, когда сильно попросил: Цитата:
|
у вас все-таки innerText или innerHTML?
innerText - не кроссбраузерная штука. |
Да ни так, ни так не пашет. Это уже после экспериментов результат. Счас я скрипт закомментировал, но выхода из ситуации не вижу, ибо все сумасшедшие идеи я уже опробывал...
Сейчас же код выглядит так: function StrObmen (){ var table = document.getElementById('table2'); var row = table.rows.item(0); var cell = row.cells.item(1); var celll = row.cells.item(2); var abcd.innerHTML = cell.innerHTML; cell.innerHTML = celll.innerHTML; celll.innerHTML = abcd.innerHTML; } |
item вроде только в Gecko браузерах работает. Вообще почитайте статью, какую нибудь, о работе с таблицами в JavaScript, например, вот хорошо написано: «DOM: Работаем со строками и ячейками таблицы».
|
Вообщем, Snipe, огромное спасибо за ту ссылочку. Я как следует просмотрел её и нашел как решить проблему.
function StrObmen (){ var table = document.getElementById('table2'); var row = table.rows.item(0); var cell = row.cells.item(1); var celll = row.cells.item(2); celli = row.insertCell(3); celli.innerHTML = cell.innerHTML; cell.innerHTML = celll.innerHTML; celll.innerHTML = celli.innerHTML; row.deleteCell(3); } Нужно было создать временную ячейку с строке и туда уже забрасывать временные данные. А поскольку такой объект как ячейка отдельно от документа не существует, то я и как раз в этом моменте и запнулся. Octane, спасибо. На 5 минут бы раньше=) |
Цитата:
|
Цитата:
|
Часовой пояс GMT +3, время: 05:20. |