Не понял причем тут шапка страницы. У вас есть связанные списки. Собственно их можно расположить таким образом на странице, что можно будет легко получить их коллекцию. При этом изменения в этих списках будут иметь один общий обработчик, отправляющий асинхронный запрос на сервер, и получая в ответ последующий список. Данные для какого из списков при этом запрашиваются сервер определяет по параметрам запроса. Ведь таким же образом и ваш серверный скрипт производит определение, так ведь?
Клиентский сценарий также может определить в каком из списков произошло изменение. Например, если это не последний в наборе, значит данные для списка, а если последний, то сервер вернул форму, которую он поместит на страницу. То есть и серверный сценарий вполне может определить, что запрос последнего списка и клиент запрашивает форму.
Эти вопросы ясны и затруднений по ним нет?
А вот во что и как поместить форму, так это зависит от формата данных. Ваш код возвращает готовую таблицу с формой, и речь вроде бы о студентах, значит ответ помещать надо не в
<tr>
<td>...</td>
</tr>
а либо в постоянно имеющийся на странице TABLE, либо в какой либо DIV, если сервер возвращает полностью таблицу, а не ее строки. То есть заменяется html содержимое TABLE или DIV.
Если же формат данных, которыми производится обмен с сервером, это JSON, то на основе этих данных клиент строит html код таблицы/формы.
У вас не видно, чтобы сервер возвращал <table>, значит например, <table id="list"></table> уже на странице. Сервер и клиент знают, что результат запроса это таблица/форма, поэтому помещает ее в тег таблицы:
$('#list').html(data)
где data содержит ответ сервера (см. описание Ajax методов).