Как показать автоматический выбор следующего значения, если два значения одинаковы в php? - PullRequest
0 голосов
/ 23 октября 2019
<select name="yos_filter" id="yos_filter" class='form-control'>
    <option value="">Year/Semester</option>
    <?php 
        if ($classesRow) 
        {
            $looping = (int)$classesRow->duration;
            if ($classesRow->mode==1) 
            {
                for ($i=1; $i <=$looping; $i++) 
                {
                    if ($this->session->userdata('yos_filter')==CallYears($i)) 
                    {
                        $select =  "Selected";
                    }
                    else
                    {
                        $select =  "";
                    }
                    echo "<option ".$select." value=".CallYears($i).">".str_replace('_', ' ', CallYears($i))."</option>";
                }
            }
            else
            {
                for ($i=1; $i <=(2*$looping); $i++) 
                {
                    if ($this->session->userdata('yos_filter')==CallSemester($i)) 
                    {
                        $select =  "Selected";
                    }
                    else
                    {
                        $select =  "";
                    }
                    echo "<option ".$select." value=".CallSemester($i).">".str_replace('_', ' ', CallSemester($i))."</option>";
                }
            }
        }
    ?>
</select>

enter image description here

В этом коде я хочу создать автоматический выбор следующего значения в раскрывающемся списке, если semester имеет 1st_semester, тогда раскрывающийся список должен быть 2nd_semesterаналогично, если у semester есть 2nd_semester, тогда выпадающий список должен быть 3rd_semester, но здесь у меня есть то же значение внутри выпадающего меню, которое я показываю на изображении выше. Итак, как я могу это сделать? Пожалуйста, помогите мне.

Спасибо

1 Ответ

0 голосов
/ 23 октября 2019

Возьмите одну переменную $next=0 над циклом. и когда вы найдете значение семестра, сохраните следующее значение в этой переменной.

for ($i=1; $i <=(2*$looping); $i++)
{
    if ($this->session->userdata('yos_filter')==CallSemester($i))
    {
        $next =  $i+1;
    }
    $select = ($next == $i)?"selected":"";

    echo "<option ".$select." value=".CallSemester($i).">".str_replace('_', ' ', CallSemester($i))."</option>";
}

Выполните одно и то же для обоих циклов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...