Есть обычная html таблица, содержимое которой генерируется в php и выводится циклом в разметке. Вопрос такой: можно ли как-то обновить содержимое таблицы используя только существующую разметку? Если да, то как это сделать? Сейчас я отправляю аякс запрос, затем скрываю основную таблицу и на её место подставляю другую, сгенерированную бэкэндом, хотя фактически мой запрос просто меняет содержимое массива, не трогая структуру. Вот и хочется как-то упростить сценарий.
скрываю основную таблицу и на её место подставляю другую, сгенерированную бэкэндом
Бекенд возвращает HTML-код таблицы или JSON с новыми данными? Если JSON, то пройдите по нему циклом и вставьте значения из него в существующую таблицу. В чём именно возникает сложность?
runapa, критерии выбора значений из массива и подходящих для них ячеек таблицы вам нужно определить самому. Конечно, скрипт "сам" за вас это не сделает. Это дело некоторой доли фантазии с вашей стороны.
usheninmike, я хотел бы чтобы это работало так: делаешь асинхронный запрос к серверу, получаешь данные, а затем просто рефрешишь нужный контейнер. Браузер же как-то построил один раз этот кусок DOM. Почему бы ему не повторить, только с другими данными?
Но видимо не судьба. =)
Если структура таблицы не меняется, вы можете полученную через AJAX таблцу распарсить через DOMParser, а далее тупо через querySelectorAll и цикл for перебрать все ячейки и обновить данные в вашей основной таблице.
runapa, да, невнимательно прочитал вопрос. Ну в любом случае данные обновлять нужно ajax-запросом, а уж как отрисовывать (целиком таблицу или бежать по ней и вставлять данные в определенные ячейки) это дело каждого. Я бы отрисовывал только tbody у таблицы. Вообще зависит от того, что должна уметь таблица и как она работает с данными.