如何从下拉列表中继续显示选定的选项?

Posted

技术标签:

【中文标题】如何从下拉列表中继续显示选定的选项?【英文标题】:How to keep showing selected option from drop down list? 【发布时间】:2014-03-26 12:15:16 【问题描述】:

我有一个下拉列表,我可以在其中选择选项

<form action="" method="POST" class="styled-select">
<select name="seasons" onchange='this.form.submit()'>
<option value="">Select a Season</option>
<option value="1">2002/2003</option>
<option value="2">2003/2004</option>
<option value="3">2004/2005</option>
<option value="4">2005/2006</option>
<option value="5">2006/2007</option>
<option value="6">2007/2008</option>
<option value="7">2008/2009</option>
<option value="8">2009/2010</option>
<option value="9">2010/2011</option>
<option value="10">2011/2012</option>
<option value="11">2012/2013</option>
<option value="12">2013/2014</option>
</select>
<noscript><input type="submit" value="Submit"></noscript>
</form>

您可以在此处查看列表footystat

我正在使用以下 php

if(isset($_POST['seasons'])) $seasonette = $_POST['seasons'];  

if(isset($_POST['year'])) $yearette = $_POST['year']; 

if(isset($_POST['comp'])) $competitionette = $_POST['comp']; 

if(isset($_POST['which'])) $whichette = $_POST['which']; 

当我从列表中选择某些内容时,我希望列表中的选定项目继续显示。在我选择(例如)2013/2014 时,它会显示结果,但下拉菜单会回到原来的状态,而不是显示 2013/2014。

【问题讨论】:

这是一个静态列表还是您使用 php 填充列表? 您正在提交表单 onchange,因此 DOM 内容会重新加载。因此,当再次渲染页面时,您需要手动将值设置为下拉菜单。 整个页面正在重新加载新内容。 我正在使用 PHP 来填充内容 【参考方案1】:

获取发布值时选择的选项值,像这样,

<option value="1" <?php if(isset($_POST['seasons']) && $_POST['seasons'] == '1') ?> selected="selected" <?php  ?>>2002/2003</option>

为每个选项设置这样的值

【讨论】:

【参考方案2】:

您可以将“selected”属性设置为选项,就像您设置一个值一样!

<option value="8" selected>2009/2010</option>

在 PHP 中使用 if 语句来确定应该选择哪一个。

【讨论】:

【参考方案3】:

那是因为页面刷新了。

在页面加载时检查是否有 post 变量,而不是将值与每个选项的 html 匹配并写入 selected 属性。

【讨论】:

这不是答案。你应该评论【参考方案4】:

更短的方法是

<option value="1" <?php echo $_POST['seasons']==1?"selected":""; ?>2002/2003</option>

【讨论】:

以上是关于如何从下拉列表中继续显示选定的选项?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Django 的下拉列表中从用户的选定选项中进行查询

PHP/HTML 在 sql 查询的下拉列表中显示选定的选项

如何从下拉列表列表中找到选定的下拉列表?

获取隐藏下拉列表禁用选定选项的值

ReactJS:如何从输入字段的下拉列表中显示选定的值?

从角度的下拉列表中删除选定的选项