ahah и выпадающие списки

Потребовалось создать форму. На форме два списка. В первом списке производим выбор и в зависимости от выбранного пункта должно загрузиться содержимое второго списка. Ясно, что делается это с помощью ajax. Но я JavaScript никогда не увлекался, решил использовать какую-нибудь библиотеку.
Сначала попробовал xajax. Тестовые скрипты работали прекрасно, но возникли проблемы с подключением к Drupal. Потом мне посоветовали jQuery. Благо, что он встроен в Drupal и работать с ним можно таким образом достаточно комфортно. Только начал осваивать - как оказалось, что у многих элементов форм в Drupal, в том числе select, имеется свойство ahah. Которое собственно и предназначено для создания подобного рода вещей.
Засел за эксперименты и через некоторое время удалось сделать зависимые списки. Оформил все это в виде модуля. Ссылка на архив ниже.

ВложениеРазмер
ahah.zip1.43 кб

Ссылки с других сайтов

Пока ничего нет
Tags:

Комментарии:

Re: ahah и выпадающие списки

Огромное спасибо! Искал везде пример работы с ahah - везде только общие словоблуднические рассуждения, а кода нет. Спасибо за код!

Re: ahah и выпадающие списки

Спасибо!
Опираясь на Ваш пример наконец-то разобралась с ahah'ом в D6. Заодно были сделаны пара полезных фиксов, благодаря которым optionwidgets_select будет поддерживать ahah аки нормальный select :) будут выложены на друпал.орг

Re: ahah и выпадающие списки

Огромучее спасибо, очень помогло разобраться, но у меня всё это счастье заработало когда я кое-что поправил в вызове функции:
function ahah_get_select(){...}
Заработала вот так:
function ahah_get_select($form, &$form_state){...}

Re: ahah и выпадающие списки

А какая у вас версия друпал? Этот модуль я проверял в 6-й версии.

Re: ahah и выпадающие списки

у меня на последнем друпале(6.14) заработало. Большое спасибо за данный модуль

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступны HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd><h2><h3><img><p><b><img>
  • Строки и параграфы переносятся автоматически.
  • You may post code using <code>...</code> (generic) or <?php ... ?> (highlighted PHP) tags.
  • Each email address will be obfuscated in a human readable fashion or (if JavaScript is enabled) replaced with a spamproof clickable link.

Подробнее о форматировании

16 + 2 =
Вычислите и введите результат. Для вопроса "2+3" ответом будет "5".
Синдикация материалов