(Rails) Поддержание функциональности Javascript в динамически генерируемом контенте...?

Я ищу качественный механизм для добавления сортировки к динамически генерируемым таблицам. Моя визуальная настройка очень проста. С левой стороны у меня есть меню с серией элементов для выбора (диаграммы, графики, изображения, таблицы и т. Д.). При щелчке по элементу он будет отображаться в разделе "dynamic-content" в правой части страницы. Это все работает отлично.

У меня проблемы с возможностью реализации определенных динамических функций загруженного контента. В этом конкретном случае у меня есть динамический контент, который генерируется на основе выбранной таблицы, и он появляется в div "dynamic-content", но сортировка javascript не работает. Я пытался включить его на странице "Макет приложения", а также в части, которая генерирует данные, но ничего не работает. Однако, если я помещу это в "статическую" страницу, все работает отлично. Любые идеи о том, как заставить это работать?

К вашему сведению, я использую Rails 2.3.4 в OS X, использую "sorttable.js", а также Safari 4.0.3 и Firefox 3.5.5 для тестирования.

Лучший.

2 ответа

Решение

Я подозреваю, что вам нужно позвонить sorttable.makeSortable(<table element>); на ваших динамически загружаемых таблицах. Поскольку вы не предоставили никаких сведений о том, как вы переключаете свои таблицы, трудно найти решение.

Sorttable.js опирается на ненавязчивый javascript, таблицы для сортировки должны присутствовать в dom после завершения загрузки страницы. Sorttable.js затем вызывает makeSortable для каждой таблицы, которая имеет класс "sortable". Когда вы вставляете новую таблицу, вы должны сделать то же самое.

Любые идеи о том, как заставить это работать?

Ну, без дополнительной информации будет сложно найти решение. Но вы пытались посмотреть на сгенерированную страницу с Firebug, чтобы увидеть, что происходит? Есть ли в вашей IDE отладчик Javascript?

Другие вопросы по тегам