如何在php中提交表单后保留Select选项

如何在php中提交表单后保留Select选项,php,html,web-applications,Php,Html,Web Applications,我查看了几个社区论坛,我无法理解如何在验证失败后保留选择选项的值 下面是我的代码,但是当提交按钮被提交时,值消失了 <select id="service" name="service" class="searchoption"> <option value="">-- Select Service Name --</option> <?php $resultservice =

我查看了几个社区论坛,我无法理解如何在验证失败后保留选择选项的值

下面是我的代码,但是当提交按钮被提交时,值消失了

<select id="service" name="service" class="searchoption">
             <option value="">-- Select Service Name --</option>
             <?php
             $resultservice = mysqli_query($con,"Select * from services") ?>
             <?php
             while ($line = mysqli_fetch_array($resultservice)) {
             ?>
             <option value="<?php echo $line['serviceid'];?>"> <?php echo $line['service'];?> </option>

            <?php
            }
            ?>
            </select>

--选择服务名称--
以下是我尝试过但不适用于我的:

<select id="service" name="service" class="searchoption">
             <option value="">-- Select Service Name --</option>
             <?php
             $resultservice = mysqli_query($con,"Select * from services") ?>
             <?php
             while ($line = mysqli_fetch_array($resultservice)) {
             ?>
             <option value="<?php echo $line['serviceid']; if ($_POST['service'] == $service) {echo 'selected="selected"'} echo $line['serviceid']; ?>"> <?php echo $line['service'];?> </option>

            <?php
            }
            ?>
            </select>

--选择服务名称--

可能是一个小错误,但注意到以下代码中有一个无效>

 <option value="<?php echo $line['serviceid']; if ($_POST['service'] == $service) {echo 'selected="selected"'} echo $line['serviceid']; ?>"> <?php echo $line['service'];?> </option>

试试这个

 <option value="<?php echo $line['serviceid']; if ($_POST['service'] == $service) {echo     'selected="selected"'}?> echo $line['serviceid']; <?php echo $line['service'];?>" </option>

项目1
项目2
项目3
document.getElementById('list')。value=“”;

您是否在同一页中提交了表单?您在
属性中回显
所选属性我是Awlad,感谢您的快速回复,是的,我正在提交到同一页。Rahil,我不明白您所说的回显所选属性是什么意思。我该怎么解决?很好我没注意到。我将删除它,然后再试一次。你好,约翰,这对我不起作用。当我尝试您的建议时,页面根本没有加载。是的,很抱歉您在调用服务字符串之前关闭了标记,请在双引号之后移动>您的意思是这样吗?“您好,谢谢您的回复。我尝试了这个,但它对我无效。document.getElementById('list')。value=”“;我的意思是喜欢这个文档。getElementById('service')。value=”";         对不起,我犯了一个错误,您需要将脚本标记放在表单标记之后。您的意思是在打开表单标记之后?还是在关闭表单标签之后?谢谢您的快速回复。是的,在结束表单标签之后。
<form action="" method="POST">
<select name="list" id="list">
    <option value="item1">item1</option>
    <option value="item2">item2</option>
    <option value="item3">item3</option>
</select>
<input type="submit" />
</form>

<script type="text/javascript">
     document.getElementById('list').value = "<?php echo $_POST['list']?>";
</script>