Я использую Codeigniter
- я показываю такие переключатели:
<fieldset>
<legend>Part Time / Full Time:</legend><br>
<input type="radio" name="time" id="radfull" value="fulltime"> Full Time<br/>
<input type="radio" name="time" id="radpart" value="parttime"> Part Time
</fieldset>
Что хорошо работает, они отображаются. Вот код в модели.
'time'=>$this->input->post('time'),
который также отлично работает, он сохраняет выбор в database
. Но как я могу заставить кнопку переключаться, когда страница загружается с выбором из базы данных?
Как сказал @Craig, использование set_radio
- это то, что вам нужно.
PHP
<input type="radio" name="myradio" value="2" <?php echo set_radio('myradio', '2'); ?> />
Примечание. Значение этого переключателя - "2". Независимо от значения, это должен быть второй параметр в set_radio.
Ваш код будет выглядеть примерно так:
HTML
<fieldset>
<legend>Part Time / Full Time:</legend><br>
<input type="radio" name="time" id="radfull" value="fulltime" <?php echo set_radio('time', 'fulltime'); ?>> Full Time<br/>
<input type="radio" name="time" id="radpart" value="parttime" <?php echo set_radio('time', 'parttime'); ?>> Part Time
</fieldset>
Если вы хотите, чтобы по умолчанию была установлена опция (когда загружается страница), где вы добавляете третий параметр TRUE
на соответствующее радио.
ТАКЖЕ ПРИМЕЧАНИЕ. В вашем контроллере вам нужно будет загрузить библиотеку form_validation
для любой из этих функций.
PHP
$this->load->library('form_validation');
Надеюсь это поможет!
EDIT Мои извинения, я неправильно понял вопрос. То, что у меня было выше, до того, как форма официально/успешно представлена. В вашем случае форма уже была (успешно) отправлена, и вы хотите... редактировать форму (из-за отсутствия лучших слов) - так что вам нужен способ заполнения входов любым пользователем.
То, что я делал в прошлом, по моему мнению, просто имеет тройную операцию на элементе.
Например, допустим, что я возвращаю пользователя, и есть свойство "time".
HTML
<fieldset>
<legend>Part Time / Full Time:</legend><br>
<input type="radio" name="time" value="fulltime" <? echo($user['time'] === 'fulltime') ? selected="selected" : ''; ?> />
<input type="radio" name="time" value="parttime" <? echo($user['time'] === 'parttime') ? selected="selected" : ''; ?> />
</fieldset>
Может быть, это ближе к тому, что вы ищете?
Вы можете использовать хелпер формы, который имеет функцию "set_radio", самую последнюю функцию на этой странице;
https://ellislab.com/codeigniter/user-guide/helpers/form_helper.html
<input type="radio" name="time" value="fulltime" <?php echo set_radio('time', 'fulltime'); ?> />
<input type="radio" name="time" value="parttime" <?php echo set_radio('time', 'parttime'); ?> />
Надеюсь, это поможет.
$data['user'] = $this->user_model('get_user');
Тогда я могу использоватьecho $user['property'];
с моей точки зрения.