我有这个下拉列表,用户可以选择多个选项,如果在提交按钮后我如何在表单上保留选定的值,如果表单上有错误
<select onclick="document.getElementById('cand_qual4').style.display='none'; " name="oca[]" id="oca" multiple="multiple">
<?php
$odrop = array('B COM','M COM','BBA','MBA','LLB','LLM','CPA','CIMA','MS FINANCE','DISA','CISA','OTHER');
foreach ($odrop as $odrop1)
{
echo '<option value="' . $odrop1 . '"' . (isset($_POST['oca']) && in_array($odrop1,$_POST['oca']) ? ' selected' : '') . '>' . $odrop1 . '</option>';
}
?>
</select>
答案 0 :(得分:1)
而不是
$_POST['oca'] == $odrop1
条件$_POST['oca']
是一个数组,请尝试
in_array($odrop1,$_POST['oca'])
答案 1 :(得分:0)
尝试 -
echo '<option value="' . $odrop1 . '"' . (is_array($_POST['oca']) && in_array($odrop1,$_POST['oca'] ) ? ' selected' : '') . '>' . $odrop1 . '</option>';