Codeigniter - помощник по формам set_select () - PullRequest
4 голосов
/ 08 ноября 2011

Как я могу использовать set_select () (часть помощника формы) в моем раскрывающемся массиве в codeigniter:

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

$guide_options = array('investments' => 'Investments',
                       'wills' => 'Wills',
                       'tax-planning' => 'Tax planning',
                       'life-insurance' => 'Life insurance',
                       'currency-exchange' => 'Currency exchange',
                       'retirement-planning' => 'Retirement planning',
                       'international-healthcare' => 'International healthcare',
                       'savings-plans' => 'Savings plans',
                       'education-planning' => 'Education planning',
                       'sipps' => 'SIPPS',
                       'qrops' => 'QROPS',
                       'qnups' => 'QNUPS',
                       'mortgages' => 'Mortgages',
                       'other' => 'Other service'                       
                      );
echo form_dropdown('guide', $guide_options, 'investments');

Форма справочного пособия здесь: http://codeigniter.com/user_guide/helpers/form_helper.html

Ответы [ 5 ]

12 голосов
/ 08 ноября 2011

set_select вы можете использовать, если вы производите с HTML-кодом, а не с помощником.

Хотя вы можете сделать что-то вроде этого

$selected = ($this->input->post('guide')) ? $this->input->post('guide') : 'investments';                        
echo form_dropdown('guide', $guide_options, $selected);
3 голосов
/ 08 ноября 2011

Попробуйте это:

echo form_dropdown('guide', $guide_options,set_value('guide', 'investments'));

http://codeigniter.com/forums/viewthread/97665/

1 голос
/ 15 марта 2017

Вот рабочий пример set_select ()

<?php echo set_select('my_select', $data['id'])?>

Полный код:

<select class="form-control" required name="my_select">
    <option value="">- Select -</option>
    <?php foreach ($datas as $data): ?>
        <option value="<?php echo $data['id']?>" <?php echo set_select('my_select', $data['id'])?>><?php echo $data['name']?></option>
    <?php endforeach; ?>
</select>

Или вы можете использовать чистый подход PHP:

// Use this inside in a <option> generated by a foreach, like the example above.
<?php echo $id_city == $city['id']?' selected ':''?>
1 голос
/ 08 ноября 2011

Вам не нужно использовать set_select (), так как вы уже определяете выбранный элемент в from_dropdown ()

form_dropdown('guide', $guide_options, 'investments');

Для лучшего понимания см. Код ниже и вывод

$options = array(
                  'small'  => 'Small Shirt',
                  'med'    => 'Medium Shirt',
                  'large'   => 'Large Shirt',
                  'xlarge' => 'Extra Large Shirt',
                );

$shirts_on_sale = array('small', 'large');

echo form_dropdown('shirts', $options, 'large');

// Would produce:

<select name="shirts">
<option value="small">Small Shirt</option>
<option value="med">Medium Shirt</option>
<option value="large" selected="selected">Large Shirt</option>
<option value="xlarge">Extra Large Shirt</option>
</select>
0 голосов
/ 15 декабря 2014

Чтобы использовать set_select, вам нужно иметь правило проверки для рассматриваемого поля. Смотрите мой ответ на аналогичный вопрос здесь: CodeIgniter select_value в форме dropdown

...