Как выбрать опцию выпадающего, используя данные из базы данных? - PullRequest
0 голосов
/ 03 июля 2018

как предварительно выбрать опцию из выпадающего списка на основе данных, поступающих из базы данных или модели для просмотра.

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

Я пробую этот код

   <select class="form-control appointment_status" >
   <option <?php if ($row['status'] == 0) { ?> selected <?php } ?> value="0">In process</option>
   <option <?php if ($row['status'] == 1) { ?> selected <?php } ?> value="1">Completed</option>
   </select>

Ответы [ 3 ]

0 голосов
/ 03 июля 2018

Обычно это то, что я люблю делать (это относится к вашему контроллеру):

// Select Categories    
            $categories_options = array();
            $categories_options[0] = 'Select Categories';

            $categories_list = $this->Terms_model->get_list();

            foreach($categories_list as $cat){
                $categories_options[$cat->term_id] = $cat->title;
            }

            $data['categories_options'] = $categories_options;

Предполагая, что вы передаете переменную $ data в ваше представление, вы сможете отобразить ее следующим образом:

<!-- Post Categories -->
    <?php
        $data = array(
            'class'     =>  'form-control js-example-basic-multiple',
            'value'     =>  set_value('categories'),
            'multiple'  =>  'multiple',
        );
    ?>
    <div class="form-group">
        <?= form_label('Categories','categories'); ?>
        <?= form_dropdown('categories[]', $categories_options, 0, $data); ?>
    </div>

, а затем отредактировать его (другой вид):

<?php
        $options = array(
            ''  => 'Please select an option',
            '0' => 'In process',
            '1' => 'Completed',
        );
        $data = array('class' => 'form-control');
    ?>
    <div class="form-group">
        <?= form_label('Status', 'status'); ?>
        <?= form_dropdown('status', $options, $item->status, $data); ?>
    </div>

Очевидно, вам нужно изменить больше вещей, но я уверен, что это даст вам лучшую идею и подход.

0 голосов
/ 03 июля 2018

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

0 голосов
/ 03 июля 2018

Попробуйте что-то вроде этого:

$status = ($row['status']) ? 'selected' : '';
echo <<<END
<option value="0" $status>In process</option>
<option value="1" $status>Completed</option>
END;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...