Select 字段在页面重置时重置

Select field resets when the page resets

我写了一个代码,用户可以在 select 字段中 select 一个选项。它有 onchange="location = this.options[this.selectedIndex].value;" 在 select 标签上,每个选项标签都有自己的价值。

所以我的问题是:

当我 select 来自此 select 字段的选项时,它会将查询字符串发送到同一页面,我希望我的 selected 选项保持 selected但是 select 字段在页面重置时被重置。 事实并非如此,但确实有效,但我想我对我的代码做了一些更改(我找不到),这导致了问题。

这是我的代码:

                    <?php

                    parse_str($_SERVER['QUERY_STRING']);

                    require ('../config.php');
                     /* connect and select db codes*/

                    $dbresult=mysqli_query($connection, "SELECT * FROM services");

                    while($row = mysqli_fetch_array($dbresult)){
                            $order_name = $row['name'];
                            $order_id = $row['id'];
                            echo "<option value=\"NewOrder.php?service=$order_id&quantity=1th\">$order_name</option>";
                    }
                    ?>

                            </select><br/>


  /* ...continue of my codes...*/

您必须在属性中指定 select 选项。 所以对于你想要select的选项,你需要添加selected="selected"属性

在 PHP 中,这可以在 echo 语句之前通过类似的方式完成,如果订单 ID 与查询字符串中指定的订单 ID 相同,它将 select 使用此选项

  if($service == $order_id){
     $selected = "selected";
  }
  else{
     $selected = "";
  }

并且在你的 echo 语句中

   echo "<option value=\"NewOrder.php?service=$order_id&quantity=1th\" ".$selected.">$order_name</option>";