Отключить элементы в раскрывающемся списке, которые ранее были выбраны с помощью codeigniter - PullRequest
2 голосов
/ 13 апреля 2019

Я создал раскрывающийся список, в котором содержатся вакансии. Я хочу отключить выпадающий элемент, который пользователь ранее применял. Здесь, чтобы уменьшить мой код, я создал параметры options_selected static, чтобы получить выбранные списки профилей работы. Здесь $ job_positions содержит все профили вакансий, а $ options_selected содержит все элементы, которые он ранее выбирал из job_positions. Теперь он не может выбрать эти опции снова, они должны быть отключены.

   $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);

1 Ответ

5 голосов
/ 14 апреля 2019

Вы можете использовать функцию 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...