【问题标题】:How to keep form items selected after post request.Using php如何在发布请求后保持表单项被选中。使用 php
【发布时间】:2013-04-17 02:15:05
【问题描述】:

我有一个包含 7 个多选下拉列表的表单。表单提交到同一页面后,我需要选择多个选项。我检查了多个线程,但是,很少有人解释只有单个选定的下拉列表。请建议我为许多下拉菜单保留多个选项。这个表单是基于php开发的。

<select name="selectAccount[]" multiple="multiple" class="multiple">

<option value="0" selected="selected">All</option>

<?php
$viewquery="select Account_Name from accounts";
$viewresult=  mysql_query($viewquery);
while($elements=  mysql_fetch_array($viewresult))
    {
       echo "<option value=\"".$elements['Account_Name']."\"";
       if(isset($_POST['selectAccount'])==$elements['Account_Name'])
       echo 'selected';
       echo ">".$elements['Account_Name']."</option>";

}
?>
</select>

如果我使用上面的代码,下拉列表中的所有选项都会被选中。但是,我只需要选择提交前选择的选项。请帮忙。

【问题讨论】:

  • 能否将代码添加到问题中?
  • 如果您只想使用 PHP 那么它可能有点长。为什么不为此目的使用 Ajax?

标签: php drop-down-menu html-select multiple-select


【解决方案1】:

我认为这条线有问题

if(isset($_POST['selectAccount'])==$elements['Account_Name'])

您可能需要考虑两件事: 如果你使用这样的字段

<select name="selectAccount[]" multiple="multiple" class="multiple">

那么$_POST['selectAccount'] 将是一个数组,因此您可能需要检查是否设置了$_POST['selectAccount'],然后该数组是否包含您的$elements['Account_Name'] 为此,您可以使用 in_array。

【讨论】:

  • 太棒了.. 谢谢 smarques.. 它在我的要求中就像魅力一样。非常感谢。:)
猜你喜欢
  • 1970-01-01
  • 2014-03-20
  • 2015-02-28
  • 2020-10-17
  • 1970-01-01
  • 2011-03-26
  • 2014-05-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多