Как я могу сохранить состояние флажка на странице, которая обновляется Ajax? - PullRequest
3 голосов
/ 06 апреля 2009

У меня есть html-таблица в моем приложении, которая показывает состояние различных заданий, запущенных в системе. Каждое задание имеет связанное с ним состояние, например, swirly gif для запуска заданий. Рядом с новыми заданиями установлен флажок, который позволяет пользователю выбирать и запускать связанное задание.

Таблица представляет собой div с автоматическим обновлением struts2 (sx: div), который обновляется каждые несколько секунд, чтобы отразить, что в данный момент происходит с заданиями.

Проблема в том, что при обновлении div я теряю это состояние флажков.

Есть ли элегантный способ поддержания своего состояния? У меня есть возможность вызывать некоторые javascript после завершения обновления ajax, используя систему тем dojo, встроенную в тег, но я не уверен, что это лучший способ приблизиться к нему.

1 Ответ

1 голос
/ 06 апреля 2009

Я не очень хорошо разбираюсь в стойках, поэтому посоветуйтесь, сколько это стоит.

Есть два подхода к этому, что я вижу.

Первое (и, возможно, самое простое) - добавить событие в флажки, в котором проверенное состояние сохраняется в массиве или объекте onchange. Затем при обратном вызове из обновления ajax восстановите эти состояния.

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

Если вы решите использовать номер один, javascript не очень сложен, особенно если вы используете хорошую библиотеку (jquery и т. Д.).

...