如何在flask应用程序的选择框中的onchange事件上运行ajax请求

时间:2018-08-06 06:47:22

标签: javascript jquery ajax

我有一个烧瓶应用程序,其中包含许多选择框。每个选择框都需要根据先前选择框中的选择填充数据。我打算为此使用ajax。每个选择框都必须基于onchange事件提交。并且有一个最终表单提交按钮,一旦所有选择框都选择了某个值,该按钮就会提交。

javascript:     

    $(function() {
    $('select1').select(function() {
        $.ajax({
            url: '/getdata',
            data: $('form').serialize(),
            type: 'POST',
            success: function(response) {
                console.log(response);
            },
            error: function(error) {
                console.log(error);
            }
        });
    });
});

</script>

html:

<form method="post" action="/getdata">
    Project : <select name="select1" required>
    <option></option>
    {% for p in project %}
    {% for i in p %}
    <option>{{ i }}</option>
    {% endfor %}
    {% endfor %}
</select>
</div>
<div class="col-md-6">
    Task : <select name="category" required>
    <option>----</option>
    {% for p in task %}
    {% for i in p %}
    <option>{{ i }}</option>
    {% endfor %}
    {% endfor %}
</select></div></div>
 <div class="row p-t-20">
<div class="col-md-6">
    Subtask : <select name="category" required>
    <option>----</option>
</select></div>
<div class="col-md-6">   
    Category : <select name="category" required>
    <option>----</option>
</select></div></div></from>

烧瓶视图:

@tt.route('/ti',methods = ['POST', 'GET'])  
def report():
    return render_template('ti.html')
@tt.route('/getdata',methods = ['POST', 'GET']) 
def report():
    project = request.form['select1']
    ~~~ Database codes ~~~~
    return render_template(task=data)

如何填充数据库查询结果到下一个选择框?一旦所有选择框都选择了一些数据,我还需要进行最终提交。

1 个答案:

答案 0 :(得分:0)

首先,让您的第二个和第三个选择框都没有选项。

然后执行类似的操作:

#Select Project with post param named data

在/sample.file.name文件中:

#Then print it with the <option> tags

'

=>进行两次以将其应用于第二个选择框。