Форма заказа PHP, заполнить "выбранные" выпадающие - PullRequest
0 голосов
/ 10 мая 2011

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

Получив форму за 3 шага, пользователь может перейти от шага 2 к шагу 1, чтобы изменить детали.

Пока что каждый вход повторно заполняетсясовершенно отдельно от множественных выпадающих списков.

Я пробовал с switch() внутри foreach() массива, но, кажется, он останавливается, когда он соответствует первому случаю.Я изменил break; на continue;, но такое же поведение существует.

Массив объединен из 2, при этом $key - это номер элемента, а $value - это значение элемента.

Элемент $value отлично выводится один раз за foreach().

У кого-нибудь есть идеи?

    foreach($combined as $key => $value) {
           //firstload is only valid on first load
                  if($value != firstload) {

                    switch($value){
                    case "1":
                       $selected0 = "selected=\"selected\"";
                       break;
                    case "5.00":
                       $selected1 = "selected=\"selected\"";
                       break;
                    case "10.00":
                       $selected2 = "selected=\"selected\"";
                       break;
                    case "45.00":
                       $selected3 = "selected=\"selected\"";
                       break;
                    case "85.00":
                       $selected4 = "selected=\"selected\"";
                       break;
                                        }

Затем в HTML можно выбрать опции <option value="5.00" $selected1"> и т. Д.

Когда переключатель соответствует регистру, он соответствует этому регистру для каждого foreach.

1 Ответ

1 голос
/ 10 мая 2011

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

<select name="mySelect" multiple="multiple">
<?php
    // Could come from sessions or POST data
    $selected_array = array("1", "10.00", "85.00");

    // Could come from database or something else
    $multiple_select_values = array("1", "5.00", "10.00", "45.00", "85.00");

    foreach($multiple_select_values as $value) {
        $selected = "";
        if(in_array($value, $selected_array))
            $selected = " selected=\"selected\"";

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