根据所选选项显示html下拉列表

时间:2013-05-18 09:58:23

标签: python html sql cgi

我正在构建一个使用python CGI查询数据库的小型Web应用程序。逻辑是: HTML表单 - Python CGI - SQL查询 - python cgi打印结果。

目前它有效,但现在我无法创建表单。我想要做的是根据第一个表格的结果自动填写第二个表格。示例:

首先下载一个选项:汽车,摩托车,公共汽车,火车 第二次下拉:如果我选择了汽车,只播种汽车选择。如果是火车,只有火车选择...

我知道如何使用SQL ('WHERE type = 'car'')但我不知道如何填写html表单。

我没有使用任何框架,只有HTML,Python(而不是php)和Postgresql

1 个答案:

答案 0 :(得分:1)

您必须使用ajax:当第一个选择更改时,您必须将所选值传递给处理请求的远程python脚本并将结果返回到页面:此时通过javascript必须填充第二个选择。
数据可以是简单的html或json格式。 这是一个使用jquery和ajax的例子(记得包含jQuery library):
HTML:

<form action="" method="post">
    <select class="changeStatus" name="changeStatus">
            <option value="0">Car</option>
            <option value="1">Motorcycle</option>
            <option value="2">BUS</option>
    </select>

</form>

的javascript:

<script>
$('document').ready(function(){
//  change event handler
$('select.changeStatus').change(function(){
    // You can access the value of your select field using the .val() method
    //alert('Select field value has changed to' + $('select.changeStatus').val());
    // You can perform an ajax request using the .ajax() method
    $.ajax({
          type: 'GET',
          url: 'your_script_python.py', // This is the url that will be requested

          // select value available inside your_script_python.py
          data: {selectFieldValue: $('select.changeStatus').val()},

          // on success: populate your second select.
          success: function(html){ 
            alert('data passed: ' + html);
           },
          dataType: 'html' // or json 
    });

});
});
</script>