级联下拉列表
我正在开发一个网页应用,想要做一个包含两个下拉列表的表单。第二个下拉列表的内容会根据第一个下拉列表的选择而变化。这个任务本身并不复杂,但问题在于一旦选择了第一个选项,我需要去数据库里获取第二个下拉列表的数据。这就是我遇到困难的地方。其实这两个列表的数据都是从数据库里来的。
我在用Python脚本来处理这个问题,并尝试使用一个叫做onChange的JavaScript函数来实现。这个网页应用是用Zope构建的,页面模板可能也是一个可行的选择,配合Python脚本一起使用。
2 个回答
0
我就是这么做的。下面是我写的javascript函数。在改变选择的时候,我调用了getOptions,然后python脚本会生成第二个下拉列表。我可以传入一个参数,以获取这个下拉列表所需的数据。谢谢!
function getOptions() {
var code = 'code=' + $("dropdown1").getValue();
var myAjax = new Ajax.Updater('dropdown2', './pythonScript', { method: 'get', parameters: code });
}
1
你需要用到Ajax和JavaScript的组合。每当你选择下拉框中的选项时,就会调用一个JavaScript函数。这个函数会向一个Python脚本发送Ajax请求,这个脚本会访问数据库并返回一个结果给JavaScript。然后,你可以用这个结果来修改网页上的内容,更新第二个下拉框的选项。
你可以看看这个链接,或许能给你一些启发:http://www.satya-weblog.com/2007/04/dynamically-populate-select-list-by.html