禁用以前使用codeigniter选择的下拉列表中的项目
我创建了一个包含职位的下拉列表。我想禁用用户以前应用过的下拉项。在这里,为了减少我的代码,我创建了选项\u selected static以获取所选的工作配置文件列表。 此处$job_positions包含所有职务配置文件,$options_selected包含他以前从职务_positions中选择的所有项目。现在他无法再次选择这些选项,这些选项应该被禁用禁用以前使用codeigniter选择的下拉列表中的项目,codeigniter,codeigniter-3,Codeigniter,Codeigniter 3,我创建了一个包含职位的下拉列表。我想禁用用户以前应用过的下拉项。在这里,为了减少我的代码,我创建了选项\u selected static以获取所选的工作配置文件列表。 此处$job_positions包含所有职务配置文件,$options_selected包含他以前从职务_positions中选择的所有项目。现在他无法再次选择这些选项,这些选项应该被禁用 $job_positions =array('0' => 'Select', '1' => 'IT Staff', '2'
$job_positions =array('0' => 'Select', '1' => 'IT Staff', '2' => 'Customer Care', '3' => 'Sales', '4' => 'Doctor');
$options_selected =array('1' => 'IT Staff','2' => 'Doctor');
$opt_array=array();
// extract the job position
for ($i=0; $i < count($job_positions); $i++) {
$disabled = '';
// extract the options_selected and compare with the job position and if match overwrite the variable disabled
for ($x=1; $x <= count($options_selected); $x++) {
if ($options_selected[$x]==$job_positions[$i]) {
$disabled = 'disabled';
}
}
$opt_array[]= '<option '.$disabled.' value="'.$job_positions[$i].'">'.$job_positions[$i].'</option>';
}
echo form_dropdown('category', $opt_array);
$job\u positions=array('0'=>'选择','1'=>'IT员工','2'=>'客户服务','3'=>'销售','4'=>'医生');
$options_selected=array('1'=>'IT Staff','2'=>'Doctor');
$opt_array=array();
//提取工作职位
对于($i=0;$i 对于($x=1;$x您可以使用array_diff()
函数比较两个数组的值并返回差异
$job_positions =array('0' => 'Select', '1' => 'IT Staff', '2' => 'Customer Care', '3' => 'Sales', '4' => 'Doctor');
$options_selected =array('1' => 'IT Staff','2' => 'Doctor');
$position = array_diff($job_positions,$options_selected);
echo form_dropdown('category', $position);
@user3653474如果您的问题没有解决,请告诉我。谢谢@Khalifa,在codeigniter表单下拉列表中是否有其他方法可以达到相同的结果。@user3653474如何删除所选的选项,而不是禁用它,对吗?我已经更新了上面的代码,我正在尝试收集一个数组中的所有选项并然后将其传递到form_下拉列表,但选项重复。答案更新检查是否解决了您的问题,如果您的问题没有解决,请告诉我。