2012-12-27 104 views
0

我有这个下拉菜单和用户可以选择多个选项,我怎能在形式选定值提交按钮后,如果错误出现在形式仍选择下拉值

<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

你有什么试过的?什么都没有奏效?你已经做了什么研究来解决这个问题? – Charles

+0

'echo''; '我试过这个,但这不起作用 – raj

+0

在foreach循环之前打印oca的post值,并检查它是否打印正确的值?我已经尝试过你的代码和它的工作对我很好 – Hkachhia

回答

1

,而不是

$_POST['oca'] == $odrop1 

条件如$_POST['oca']将是一个数组,尝试

in_array($odrop1,$_POST['oca']) 
+0

我已经尝试过这之前它也不工作 – raj

+0

更新你的代码。你有没有得到任何错误?打开E_ALL的错误报告。 – mithunsatheesh

+0

是的,我已更新,但我没有得到任何错误 – raj

0

TRY这 -

echo '<option value="' . $odrop1 . '"' . (is_array($_POST['oca']) && in_array($odrop1,$_POST['oca']) ? ' selected' : '') . '>' . $odrop1 . '</option>'; 
+0

不,它不是蠕虫 – raj

+0

@raj你得到了什么错误,尝试print_r($ _ POST ['oca'])并查看它的打印内容 –