Как установить выбранный элемент при цикле через массив php - PullRequest
1 голос
/ 17 апреля 2011

У меня есть раскрывающийся список HTML. Затем я использую массив для заполнения элементов в нем. Ключи в этом для каждого цикла - просто числа от 0 до 9. Теперь моя проблема в том, как я могу контролировать то, что отображается в качестве выбора по умолчанию:

<?php foreach($cat_r as $k=>$c){ ?>
<option name="<?php echo $k + 1; ?>" value="<?php echo $k + 1; ?>" selected="<?php if($k==1){ echo "selected"; } ?>"><?php echo $k + 1; ?></option>
<?php } ?>

В этом коде вы можете видеть, что я пытаюсь сделать второй элемент по умолчанию. Но похоже, что меня всегда приводят к последнему элементу массива, независимо от того, какой номер я набираю в качестве условия.

Ответы [ 4 ]

2 голосов
/ 17 апреля 2011

Попробуйте:

<?php foreach($cat_r as $k=>$c){ ?>
<option value="<?php echo $k + 1; ?>" <?php if($k==1){ echo 'selected="selected"'; } ?>><?php echo $k + 1; ?></option>
<?php } ?>

Или этот формат тоже работает

<option value="foo" selected />
2 голосов
/ 17 апреля 2011
<?php foreach($cat_r as $k=>$c){ ?>
    <option name="<?php echo $k + 1; ?>" value="<?php echo $k + 1; ?>" 
    <?php if($k==1){ echo "selected=\"selected\""; } ?>>
    <?php echo $k + 1; ?>
    </option>
<?php } ?>
0 голосов
/ 11 ноября 2014

Этот код был для меня функциональным, спасибо ..

foreach($options as $k){
   echo "<option value=".$k." ";
   foreach($selectedoptions as $m){
     if($k==$m)
        echo "selected='selected'";
   }

   echo ">".$k."</option>";
}
0 голосов
/ 08 октября 2013

Я пришел сюда, чтобы найти решение для установки параметров, выбранных пользователем до того, как они были выбраны, вопрос выше был в другом контексте, и я закончил тем, что почесал голову перед этим ...

foreach($options as $k){
   echo "<option value=".$k." ";
   foreach($selectedoptions as $m){
     if($k==$m)
        echo "selected='selected'";
   }

   echo ">".$k."</option>";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...