【问题标题】:Keep Selection visible after Submit提交后保持选择可见
【发布时间】:2013-02-27 04:38:53
【问题描述】:

如何使过滤后的选择仍然出现在请求之后。

因此,如果我有选项 1、2 和 3。当我选择 2 并显示数据时,我仍然希望显示 2,表示数据已通过选项 2 过滤。

echo "<form name='country_list' method='POST' action='http://opben.com/colombia/familias-de-carteras' >";
echo "<select name='Country' tabindex='1' >";

while($row = mysql_fetch_array($result))
 {
  echo " <option  value='". $row['Fund_Manager_Company_Code'] ."'>". $row['Fund_Manager_Company_Name'] ."</option>";
 }
echo "</select>";
echo "<input type='submit' value='Filter' />";
echo "</form>";

【问题讨论】:

  • 您需要检查 post 数组的值并相应地更改 html

标签: php html mysql drop-down-menu


【解决方案1】:

你可以这样做:

    $country = isset($_POST['Country']) ? $_POST['Country'] : '';
    while($row = mysql_fetch_array($result))
     {
      echo " <option  value='". $row['Fund_Manager_Company_Code'] ."' ".(($row['Fund_Manager_Company_Code'] == $country) ? 'selected="selected"' : '').">". $row['Fund_Manager_Company_Name'] ."</option>";
     }

【讨论】:

  • 你需要检查 $_POST['Country'] 是否存在,因为会是通知
【解决方案2】:

您需要将 selected 属性添加到选项:

$Country = $_POST['Country'];
$sected = 'selected = "selected" ';
while($row = mysql_fetch_array($result))
 {
    echo " <option  ".($row['Fund_Manager_Company_Code'] == $Country? $selected : '')."value='". $row['Fund_Manager_Company_Code'] ."'>". $row['Fund_Manager_Company_Name'] ."</option>";
}

然后选择并发布的值将被选择...

【讨论】:

    【解决方案3】:

    类似

    echo" <option  value='" . $row['Fund_Manager_Company_Code'] . "' " . ((isset($_POST['Country']) && $_POST['Country'] == $row['Fund_Manager_Company_Code'])
    ? 'selected="selected"' : '') . ">" . $row['Fund_Manager_Company_Name'] . "</option>";
    

    【讨论】:

      【解决方案4】:

      提交后,您需要在 PHP 代码中捕捉选择:

      $selection = $_POST['Country'];
      
      echo "<form name='country_list' method='POST' action='http://opben.com/colombia/familias-de-carteras' >";
      echo "<select name='Country' tabindex='1' >";
      
      while($row = mysql_fetch_array($result))
       {
        $selected = "";
        if ($row['Fund_Manager_Company_Code'] == $selection) {
          $selected = "selected";
        }
        echo " <option  value='". $row['Fund_Manager_Company_Code'] ."' ".$selected.">". $row['Fund_Manager_Company_Name'] ."</option>";
       }
      echo "</select>";
      echo "<input type='submit' value='Filter' />";
      echo "</form>";
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-15
        • 1970-01-01
        • 2014-06-14
        • 2016-02-29
        • 2016-02-08
        • 2016-07-13
        相关资源
        最近更新 更多