我正在开发一个网络应用,并尝试使用两个下拉列表对代码进行编码。第二个下拉列表中的列表将取决于第一个下拉列表中的选择。任务本身并不太复杂,只要第一次选择完成后,我需要进行数据库调用以获取第二个下拉列表的数据。这是我遇到困难的地方。事实上,这两个列表都是从数据库中填充的。
我正在使用python脚本进行此操作,并尝试使用onChange javascript函数执行此操作。 Web应用程序是在Zope中构建的,页面模板可以是与python脚本一起使用的选项。
答案 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 });
}