级联下拉列表

时间:2010-05-05 20:09:22

标签: javascript python html rest zope

我正在开发一个网络应用,并尝试使用两个下拉列表对代码进行编码。第二个下拉列表中的列表将取决于第一个下拉列表中的选择。任务本身并不太复杂,只要第一次选择完成后,我需要进行数据库调用以获取第二个下拉列表的数据。这是我遇到困难的地方。事实上,这两个列表都是从数据库中填充的。

我正在使用python脚本进行此操作,并尝试使用onChange javascript函数执行此操作。 Web应用程序是在Zope中构建的,页面模板可以是与python脚本一起使用的选项。

2 个答案:

答案 0 :(得分:1)

你必须在这里使用Ajax和javascript的组合。您选择下拉列表的Onchange事件调用javascript函数。这个javascript函数会向一个python脚本发出ajax请求,该脚本实际上会使数据库命中并在javascript变量中返回一个响应。使用此javascript变量,您可以编辑DOM并设置第二个选择框的html。

看看你是否可以从中获得一些提示: http://www.satya-weblog.com/2007/04/dynamically-populate-select-list-by.html

答案 1 :(得分:0)

这正是我所做的。下面是我提出的javascript函数。 OnChange,我调用getOptions,pythonScript创建第二个下拉列表。我能够传入一个参数来获取此下拉列表所需的数据。谢谢!

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