keykeeper: Блог

Главные вкладки

Таблица с pager'ом + AJAX : как?

9 августа 2010 в 11:42

Здравствуйте, коллеги! Я всего два месяца в мире друпал, так что извините, если вопрос глупый.

У меня есть форма, состоящая из нескольких текстовых полей, пары drop-down списков и таблицы с пейджером. Когда я кликаю на пейджере для перехода к другой странице таблицы, происходит обычный get-запрос, и как следствие, очистка состояния всех полей и drop-down списков.
Хотелось бы, чтобы при переход на другую страницу таблицы выполнялся AJAX'ом, т.е. не сбрасывал состояния страницы. Подскажите, как такое устроить? Идей у меня пока только одна, но почти уверен, что нехорошая: для каждого линка в пейджере с помощью jQuery менять href на тот, который будет указывать на MENU_CALLBACK элемент меню. Он в свою очередь будет обрабатывать запрос и возвращать полную таблицу в виде JSON-объекта. Но тут не ясно, как получить сам контент.

В общем, буду рад подсказке, как такое реализовать по-человечески. Заранее спасибо!

P.S. Таблица с пейджером содержит список юзеров, при клике на которых, происходит их выбор. Эдакий multiple-choise интерфейс.

Вот примерный код, который использую сейчас:

function _module_name_form($node, $form_state) {
// ...
    $form['users']['table'] = array(
        '#type' => 'markup',
        '#prefix' => '<div id="users_list_div">',
        '#value' => _module_name_data(),
        '#suffix' => '</div>',
        '#weight' => 1,
    );
// ...
}

function _module_name_data() {
    $pager_number = 0;
    $query = 'SELECT * FROM {user} WHERE uid > 0';