Javascript dowpdown应在提交表单时显示所选值

Javascript dowpdown应在提交表单时显示所选值,javascript,python,html,drop-down-menu,Javascript,Python,Html,Drop Down Menu,表单上有三个元素,三个下拉框,一个通过数据库获取“年”的值,一个通过数据库获取“月”的值,第三个文本框是“日”下拉框。 我想要的是,当我从下拉框中选择任何值并提交表单时,所选值将从下拉文本框中消失,并显示下拉列表的第一个值 我希望dowpdown在提交表单时显示所选的值 下面是用html和JS编写的代码,前端也是python: <label class="labels">Year 1:</label> <select name='year1' id='year1'

表单上有三个元素,三个下拉框,一个通过数据库获取“年”的值,一个通过数据库获取“月”的值,第三个文本框是“日”下拉框。 我想要的是,当我从下拉框中选择任何值并提交表单时,所选值将从下拉文本框中消失,并显示下拉列表的第一个值

我希望dowpdown在提交表单时显示所选的值

下面是用html和JS编写的代码,前端也是python:

<label class="labels">Year 1:</label>

<select name='year1' id='year1' onchange ="chng_func(this.value,{{col_list}})" >
             %for item in year_lst:
    <option value="{{ item }}" selected=selected>{{ item }}</option>
     %end
 </select>

<label class="labels">Month 1:</label>

<select name = 'month1' id='month1' onchange="monthFunc()">
    %for item in month_lst:
    <option value="{{ item }}" >{{ item }}</option>
    %end 
</select>                       

<label class="labels">Day 1:</label>

<select name = 'day1' id='day1'>
    <script>
            monthFunc();
        </script>
</select>
第一年:
%对于第一年的项目:
{{item}}
%结束
第1个月:
%对于第一个月的项目:
{{item}}
%结束
第1天:
monthFunc();

您用于html呈现的模板引擎是什么?金贾,德扬戈,马科?这将帮助我们帮助你。 但一般来说,您需要获取提交的值并将它们放回html中。这意味着您需要在for循环中编写一个逻辑,以检查提交的值是否与循环迭代值匹配。 我不知道这个模板引擎的语法是什么,但它看起来是这样的:

%for item in year_lst:
<option value="{{ item }}" %if item=submitted_item: selected=selected %end >{{ item }}</option>
%end
<select name='year1' id='year1' onchange ="chng_func(this.value,{col_list}})" >
    %for item in year_lst:
    <option value="{{ item }}" {{ "selected=selected" if item = year1 else "" }}>{{ item }}</option>
    %end
</select>
最后,您的html应该如下所示:

%for item in year_lst:
<option value="{{ item }}" %if item=submitted_item: selected=selected %end >{{ item }}</option>
%end
<select name='year1' id='year1' onchange ="chng_func(this.value,{col_list}})" >
    %for item in year_lst:
    <option value="{{ item }}" {{ "selected=selected" if item = year1 else "" }}>{{ item }}</option>
    %end
</select>

%对于第一年的项目:
{{item}}
%结束
让我们看看这部分做了什么:
{{“selected=selected”if item=year1 else”“}
。基本上,这意味着,如果我们的循环值等于提交值year1,则将“selected=selected”文本输出为html,这将使所选年份选项呈现为选中。您可以阅读有关内联表达式的内容

您需要相应地更改月份和日期选择。
就这样,如果您还有其他问题,请告诉我。

模板引擎是Jinja@hetthm…您是否更改了语法配置?因为我不记得%for:%end在jinja中的语法。以下是我认为您需要做的:{%for item in year_lst%}{{item}{%endfor%}尽管您需要将提交的值传递回模板引擎。您能详细说明并告诉我将提交的值传递回模板引擎是什么意思吗??对不起,我对这个太陌生了!我需要你在给出完整答案之前再回答一个问题。您使用的是什么python web框架?烧瓶、瓶子、wheezy.web或其他?嘿,@UserAR,你的问题解决了吗?还有什么我能帮忙的吗?