обновление части грида

makvik

Новичок
обновление части грида

Есть таблица примерно такого типа

<table>
<tr>
тут идут заголовки полей, кнопки сортировки в прямом или обратном порядке и.т.п.
<td> Заголовок ... и прочее </td>
</tr>
<tr>
тут идут сами поля
<td> только значение поля </td>
</tr>
</table>

Помимо значений полей, справа имеется кнопочка "удалить". Допустим я удаляю одну строку - на сервер идёт Ajax-запрос, сервер выполняет удаление и... Вот тут возникает проблемка. Обновлять всю таблицу вместе с заголовками не хочется - хочется, чтобы обновилась только та часть, где находятся строки со значениями

Как эту часть пометить ( в какой контейнер пихнуть), чтобы впоследствии наполнить этот контейнер ответом с сервера?

Вот так у меня не работает

<table>
<Tr> Заголовки </tr>
<div id="ForUpdate">
...
</div>
</table>
 

AmdY

Пью пиво
Команда форума
зачем тебе контейнер. тебе нужно удалить либо скрыть строку - tr

-~{}~ 10.05.08 20:55:

Код:
<table>
<tr>
    <td>1111</td><td><a href="javascript: void(0);" onclick="hideTr(this);">test</a></td>
</tr>
<tr>
    <td>2222</td><td><a href="javascript: void(0);" onclick="hideTr(this);">test</a></td>
</tr>
<tr>
    <td>3333</td><td><a href="javascript: void(0);" onclick="hideTr(this);">test</a></td>
</tr>
</tr>
</table>
<script>
function hideTr(el) {
el.parentNode.parentNode.parentNode.removeChild( el.parentNode.parentNode );
}
</script>
 

makvik

Новичок
тоже сначала так думал.
У меня на страницу будет выводиться N-e кол-во записей. При удалении M записей останется N-M, что не есть гут. Поэтому после удаления нужно каждый раз подгружать "страницу" заново.

Да к тому же ещё потом нужно будет сортировать этот самый грид, тут тоже самое понадобиться
 

AmdY

Пью пиво
Команда форума
ну тогда проще менять весь контент, ведь кроме таблицы нужно будет ещё и пэйджинг переделывать.
а чтобы чтобы добавить строку после hideTr() можно сделать addTr() в prototype есть возможность делать шаблоны, сделал шаблон для tr получил json, сделал appendChild

-~{}~ 10.05.08 21:05:

а контейнер получится будет вставлять n+1 строку не в конец, а вместо старой
 

makvik

Новичок
в контейнер я предпологал грузить все N строк. Хочу так сделать даже не из-за удаления, в этом случае ещё можно извернуться, а из-за сортировки этого грида. Тут уже полюбому весь список придётся подгружать.

З.Ы.
Пэйджинг идёт отдельным модулем - о нём я пока вообще не переживаю.
 

AmdY

Пью пиво
Команда форума
тогда не парился бы и обновлял всю таблицу и заголовки в том числевариант с дивом не проходит потому как ты пытался засунуть див вместо таблицы
можно сделать две строки в первой таблица с заголовками во второй таблицы с результатами, но это глючно
 

makvik

Новичок
Не, не вариант всё-таки.
буду ещё думать, искать =). Надеялся, что решение при таком раскладе существует, просто я о нём не знаю.
 

AmdY

Пью пиво
Команда форума
вариант есть, только мне он не нравится, я бы пошёл по пути наименьшего сопротивления.
вобщем так, при запросе берешь таблицу и удаляешь все строки кроме первой, ajax подтягивает данные для построения новых строк, которые добавляются таблицу.
мне этот вариант не нравится тем. что жабаскрипт будет формировать строки, соответственно сложнее менять дизайн.

-~{}~ 10.05.08 22:24:

фу, успел спасти свой ужин
 

makvik

Новичок
Не пойму чуток одного момента

Есть такие теги - <thead> и <tbody>. В теории, думаю, можно присвоить им id и потом обновлять содержимое. Пробовал на практике - не работает такой способ.

Плохо пробовал или плохо думал?
 
Сверху