- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对此有点疑问。以下是我创建的内容的概述:一个简单的表单,其中包含 2 个选择字段、1 个文件上传字段和一个提交按钮。第一个选择将从 sql 数据库中提取它的选择(我已经完成了)然后根据用户从 SelectField1 中选择的内容,SelectField2 将填充它从 SQL 数据库中得到的结果。我希望在选择 1 时发生这种情况。换句话说,让 selectfield2 动态更新/填充自身而不刷新页面。
工作流程将是这样的:
谁能指出我正确的方向?我周末在家做这件事,所以我没有连接到数据库。我创建了 3 个列表来测试。
我试过做类似的事情:
if form.sf_baclient.data == 'py':
form.sf_clientplan.choices = list2
else:
form.sf_clientplan.choices = list3
但这并没有进行实时更新。这是 html 和 View 的代码:
HTML
<form action="{{ url_for('index') }}" method=post>
{{ form.hidden_tag() }}
<dl>
{{ form.sf_baclient.label }}<br>
{{ form.sf_baclient }}<br>
{{ form.sf_clientplan.label }}<br>
{{ form.sf_clientplan }}<br>
{{ form.ff_pdf_upload.label }}<br>
{{ form.ff_pdf_upload }}<br>
</dl>
{{ form.sb_submit }}
</form>
查看
@app.route('/', methods=['GET', 'POST'])
def index():
form = MyForm(request.form)
list1 = [('cpp', 'C++'), ('py', 'Python'), ('text', 'Plain Text')]
list2 = [('1', 'One'), ('2', 'Two'), ('3', 'Three')]
list3 = [('blue', 'Blue'), ('red', 'Red'), ('green', 'Green')]
form.sf_baclient.choices = list1
form.sf_baclient.choices.insert(0, ('', ''))
form.sf_clientplan.choices = list3
form.sf_clientplan.choices.insert(0, ('', ''))
if request.method == 'GET':
return render_template('home.html', form=form)
elif request.method == 'POST':
if form.sb_submit.data == True:
message = form.sf_baclient.data
# flash(message)
return render_template('home.html', form=form, success=True)
最佳答案
其中大部分必须在客户端编写脚本。这就是我最终要做的。让我知道是否不够清楚。
在您的 View 文件中创建一个路由和 url 来处理处理。我通常以下划线和解析一词开头。见下文。
@app.route('/_parse_data', methods=['GET'])
def parse_data():
if request.method == "GET":
# only need the id we grabbed in my case.
id = request.args.get('b', 0)
new_list = _call_to_db(id)
# When returning data it has to be jsonify'ed and a list of tuples (id, value) to populate select fields.
# Example: [('1', 'One'), ('2', 'Two'), ('3', 'Three')]
return jsonify(new_list)
您将需要使用 javascript/jquery 来确定选择。所以在我的 javascript 中我写了这个。
$('#sf_baclient').on('change', function() {
$("#sf_clientplan").empty();
baclient_name = $("#sf_baclient option:selected").text();
baclient_id = $("#sf_baclient option:selected").val();
# Sending variables containing selection info to parse_data function in python.
# jQuery's builtin ajax functions make things super easy
# Calling that parse url and sending it arguments
$.getJSON($SCRIPT_ROOT + '/_parse_data', {
a: baclient_name,
b: baclient_id
# Function to get data returned from parse_data and populate the second select field.
}, function(data) {
# Using jQuery to populate new entries we got from flask.
var options = $("#sf_clientplan");
$.each(data, function() {
options.append($("<option />").val(this).text(this));
});
});
关于python - 根据另一个 SelectField 的数据动态更新 SelectField?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23712930/
我对此有点疑问。以下是我创建的内容的概述:一个简单的表单,其中包含 2 个选择字段、1 个文件上传字段和一个提交按钮。第一个选择将从 sql 数据库中提取它的选择(我已经完成了)然后根据用户从 Sel
是否可以在material-ui中更改SelectField的弹出框背景颜色? 我 checkin 了生成的主题,但没有 selectField 或 popover 键。尝试更改menu的backgr
我只想获取公司的名称并将其保存到数据库 我正在尝试使用文本做,并尝试使用下面的代码来获取 sport: this.refs.company.getValue(), 并且运行完美。 然后我决定使用Sel
我有一个 SelectField,我想使用 WTForms 添加验证。这些字段从动态下拉列表中获取其值,因为它是一对区域/城市选择的城市字段,用户首先选择区域,然后城市选项切换以显示所选区域的城市:
我已经在表单字段的简单渲染上苦苦挣扎了近一天。如果您能在这方面帮助我,那就太好了。 我正在使用 Flask-WTF,python 2.7。 我正在尝试使用自定义 ListWidget 呈现 Selec
我对 Sencha 触摸选择字段更改事件感到震惊。通常的更改事件工作正常。但如果像这样的选项值, { xtype: 'selectfield', label: 'Choose on
首先,我最近才开始使用 Flask,所以我现在完全是个新手,但我喜欢它,希望能在以后的过程中提高我的技能。但是,我可能缺少一些非常基本的东西,例如:我创建了包含 selectfield 的表单: cl
我在表单中有一个选择字段,现在我需要迭代该字段中的选项。 {{ form.myselect }} 给我这个: --------- Item 1 Item 2 ...
我想创建一个自定义 SelectField,它根据当前日期提供不同的选择。例如,如果是该月的 13 日,则选项将为值 1 到 13。我该怎么做? def register_extensions(app
我对Python世界很陌生,我正在尝试将外部API与Google Apple引擎一起使用,我想使用填充有Api的json响应的selectField来验证表单。 这是我的代码 class Commen
有谁知道如何控制SelectField的popover的位置? 我知道 selectfield 在其中包含一个下拉菜单并且不包含弹出框,但认为也许可以以某种方式控制它。 最佳答案 我实际上遇到了同样的
我在提交时难以在 Flask 应用程序的 WTForms 页面中获取当前选定的项目。 form.tableselector.data 的值在提交时始终等于 1,无论 SelectField 中的哪个项
我正在实现一个简单的表单,其中包含用于收集数据的字段。我需要对一些字段(如文本字段、复选框和单选按钮)实现验证。 根据文档,要使用的属性是“errorText” 根据网站( http://www.ma
第一个问题:动态输入到 SelectField(选择)中,在我的数据库(sqlite,使用 SqlAlchemy)中,我有一个表,从这个表中我不会选择 SelectField 中的所有条目。作为选择的
如何在sencha touch中存储selectfield,这样当选择一个字段时,任何方法使用的值,但当页面刷新时,它会自动选择上一个选择。 我的代码: {
我正在制作一个表单,其中根据之前的选择启用和禁用了字段。但是,当我禁用 SelectField(意味着它未提交)时,验证会因“无效选择”而失败。即使未提交,如何让它验证? print(form.err
在使用 Flask/SQLalchemy 构建的应用程序中实现 WTForms SelectField 时,我遇到了许多错误。 相关代码如下: Views.py: form = ReviewForm(
我做了一个这样的 SelectField: # constants.py QUESTION_LIST = {} QUESTION_LIST['QuestionOne'] = { 'disagree-s
我正在 Sencha Touch 1.1 中创建一个带有两个级联选择字段的表单。 选择品牌后,模型列表将被过滤,以便仅显示与品牌相关的模型。第一次选择后,列表正确显示。 如果选择的另一个 Make 具
这有点难以解释,所以我正在尽力,如果我的问题含糊不清,请要求更清楚。 我正在使用商店中的选项填充选择字段。该表单显示在用户单击我的常规 ListView 中的一行时获得的详细 View 上。这一切都完
我是一名优秀的程序员,十分优秀!