Каскадный выпадающий список - PullRequest
2 голосов
/ 06 мая 2010

Я работаю над веб-приложением и пытаюсь закодировать форму с двумя выпадающими списками. Список во втором раскрывающемся списке будет зависеть от выбора из первого. Сама задача не слишком сложна, за исключением того, что после первого выбора мне нужно сделать вызов базы данных, чтобы получить данные для второго выпадающего списка. Вот где я испытываю трудности. Оба списка фактически заполняются из базы данных.

Я работаю над этим в скрипте Python и пытаюсь сделать это с помощью функции javascript onChange. Веб-приложение построено на Zope, и шаблоны страниц могут быть доступны вместе со скриптами Python.

Ответы [ 2 ]

1 голос
/ 12 мая 2010

здесь вам придется использовать комбинацию Ajax и javascript.Событие Onchange вашего выбора выпадающего вызова функции JavaScript.Эта функция javascript сделает ajax-запрос к скрипту python, который фактически сделает попадание в базу данных и вернет вам ответ в переменной javascript.С помощью этой переменной javascript вы можете редактировать свой DOM и установить html второго поля выбора.

посмотреть, можете ли вы получить некоторую подсказку из этого: http://www.satya -weblog.com / 2007/04 / динамически-populate-список выборки-by.html

0 голосов
/ 12 мая 2010

Это именно то, что я сделал. Ниже приведена функция JavaScript, которую я придумал. В OnChange я вызываю getOptions, а pythonScript создает второй выпадающий список. Я могу передать параметр, чтобы получить данные, необходимые для этого раскрывающегося списка. Спасибо!

  function getOptions() {
    var code = 'code=' + $("dropdown1").getValue();
    var myAjax = new Ajax.Updater('dropdown2', './pythonScript', { method: 'get', parameters: code });
  }
...