HTML 下拉菜单默认值未设置

HTML Dropdown Default value not setting

我有一个包含两个选项的下拉菜单。当我 select 一个选项时,页面重新加载并使用 GET 方法我找出哪个值是 selected。然后我尝试确保下拉菜单具有之前 selected 的值,这就是问题所在。

<?php echo $Status; ?>  <!-- the value passed in the URL(stored in the variable Status) gets correctly printed here -->
<select class="btn btn-primary" required name="Status" style="float:right" onchange="location = this.value">
      <option value="">Select Status</option>
          
      <option value="?pageno=1&Status='Active'"  <?php if($Status=='Active'){echo "selected";}?>>Active</option>
      
       <option value="?pageno=1&Status='Not Active'" <?php if($Status=='Not Active'){echo "selected";}?>>Not Active</option>
</select> 

该值在第一行打印正确,但由于某种原因,它在选项部分不起作用。我在这里做错了什么?谁能澄清一下

您的 URL 参数 Status 的值是 'Active''Not Active' - 包括 那些单引号,它们是您发送的价值的一部分。

但是您将它与什么进行比较,只是 Active resp。 Not Active:

if($Status=='Active')

此处的单引号不是您要与 $Status 进行比较的值的一部分 - 它们是 PHP 语法 的一部分。你必须写类似

的东西
if($Status=="'Active'")

if($Status=='\'Active\'')

在这里,正确比较你的变量和它实际包含的内容。

但是一开始这样做意义不大 - 您应该从要发送的参数值中删除单引号。

<option value="?pageno=1&Status=Active"
<option value="?pageno=1&Status=Not+Active"

请注意,我在这里将 space 替换为 +,以使其成为正确的 URL 编码值。