WTForms- SelectField选项(子类别)使用表数据自动填充StringField(主类别)

时间:2017-07-12 14:44:47

标签: postgresql flask wtforms flask-wtforms

我有一张包含以下数据的表格:

 programme_sub_category | main_programme_category 
------------------------+--------------------
 EVENT                  | ROT
 LIVE MUSIC             | LIVE MUSIC
 CONCERT                | LIVE MUSIC
 OPERA                  | LIVE MUSIC
 REHEARSAL              | UNPUBLISHED
 DRAMA                  | PRE-REC
 IDENT                  | UNPUBLISHED
 UNPUBLISHED            | UNPUBLISHED

第1列中的数据用于填充下拉菜单,用户可以在其中选择programme_sub_category。在同一页面上,我还有一个main_programme_category的StringField。我是否可以实时自动更新网页上main_programme_category字段的StringField,这样即使在提交表单之前,该字段也会根据programme_sub_category的选择自动更新? Flask-WTForms是否允许这种功能?

1 个答案:

答案 0 :(得分:0)

由于这是客户端,因此您可以使用JavaScript轻松完成此操作:

最简单的方法是使用jQuery。请参阅:https://api.jquery.com/change/

上的示例部分

他们使用div而不是input字段,但想法是一样的。在您的情况下,由于它是标准下拉列表,因此可以修改示例:

...
<select name="programme_sub_category">
  <option val="ROT">EVENT</option>
  <option val="LIVE MUSIC">LIVE MUSIC</option>
  <option val="LIVE MUSIC">CONCERT</option>
  <option val="LIVE MUSIC">OPERA</option>
  <option val="UNPUBLISHED">REHEARSAL</option>
  ...
</select>
<input name="main_programme_category" type="text" />

<script>
$( "select" ).change(function () {
    var str = $( "select option:selected" ).val();
    $( "input" ).val( str );
});
</script>
...

==========

如果您的下拉菜单没有显示在您的网页上,例如,您可能必须发布HTML的示例。