html选择下拉列表不会保持选中状态

html选择下拉列表不会保持选中状态,html,select,Html,Select,我的网站(www.irishbonus.comule.com/en/)上有一个选择下拉列表。但是,当我从下拉列表中选择一个选项并按submit时,我希望该选项保持选中状态。 以下是选择的代码: <form action="" method="post"> <strong> Select Subject:</strong> <select name="formSubject" class="dropdown"> <option valu

我的网站(www.irishbonus.comule.com/en/)上有一个选择下拉列表。但是,当我从下拉列表中选择一个选项并按submit时,我希望该选项保持选中状态。 以下是选择的代码:

<form action="" method="post">
<strong>   Select Subject:</strong>
<select name="formSubject" class="dropdown">
  <option value=">>>">">>>"</option>
  <option value="Accounting">Accounting</option>
  <option value="Agricultural Science">Agricultural Science</option>
  <option value="Agricultural Economics">Agricultural Economics</option>
  <option value="Applied Mathematics">Applied Mathematics</option>
  <option value="Arabic">Arabic</option>
  <option value="Art (jc only)">Art (jc only)</option>
  <option value="Biology">Biology</option>
  <option value="Business (jc only)">Business (jc only)</option>
  <option value="Business Studies">Business Studies</option>
  <option value="Chemistry">Chemistry</option>
  <option value="Civic (jc only)">Civic (jc only)</option>
  <option value="Classical Studies">Classical Studies</option>
  <option value="Construction Studies">Construction Studies</option>

//more options

  <option value="Typewriting (jc only)">Typewriting (jc only)</option>
</select>

<table width="300px">
<tr>
<td valign="top">
<strong>Insert Mark:</strong>
<input type="text" name="formMark" maxlength="2" size="4" value="<?=$mark;?>"/>
</td>
</tr>
</table>

<input type="submit" />
</form>

选择主题:
">>>"
会计
农业科学
农业经济学
应用数学
阿拉伯文
艺术(仅jc)
生物
业务(仅jc)
商业研究
化学
思域(仅限jc)
经典研究
建筑研究
//更多选择
打字(仅jc)
插入标记:

为此,您需要使用服务器端语言。您似乎已经在使用PHP,所以只需添加一些PHP代码即可。最好的解决方案是将选项存储在数组中,然后在数组中迭代,输出
标记,如果值与提交的值匹配,则添加
选定的
属性

<select name="formSubject" class="dropdown">
<?php
$options = ['Accounting', 'Agricultural Science', '...'];
$selected = isset($_POST['formSubject']) ? $_POST['formSubject'] : '';
foreach($options as $option) {
    echo '<option value="'.$option.'"'.($selected == $option ? ' selected' : '').'>'.$option.'</option>';
}
?>
</select>

他忘记了数组(),这就是为什么会出现解析错误

在这里:


while($row=$result->fetch\u assoc()){
$selected=“”;
如果(isset($_GET['spec'])){
如果($_GET['spec']==$row['id'])){
$selected=“selected='selected'”;
}
}
打印“$row['ime']”;
}
$result->free();

所以我只是把我的选项放在选项数组中,这就行了?我试着把它放进(带有选项)而不是旧的选择菜单,我得到了一个解析错误:/I我最终得到了它的工作结果:函数输入值($x){if(isset($\u POST[$x]){return return POST[$x];}否则{return return return“”;}
<select name="formSubject" class="dropdown">
<?php
$options = array('Accounting', 'Agricultural Science', '...');
$selected = isset($_POST['formSubject']) ? $_POST['formSubject'] : '';
foreach($options as $option) {
    echo '<option value="'.$option.'"'.($selected == $option ? ' selected' : '').'>'.$option.'</option>';
}
?>
</select>
while ($row = $result->fetch_assoc()) {

    $selected = "";
    if(isset($_GET['spec'])) {
        if($_GET['spec'] == $row['id']) {
            $selected = "selected='selected'";
        }
    }
    print "<option ". $selected ." value='". $row['id'] ."'>". $row['ime']. "</option>";
}

$result->free();