codeigniter autocomplete выберите значения после сбоя проверки
В codeigniter, как показать предыдущие выбранные значения параметров после сбоя проверки в форме
контроллер
protected function getStateOption($state_id=0) {
$stateOptions = '<option value="0">--Select State--</option>';
$stateList = $this->state_model->getState();
foreach ($stateList as $state) {
if(!empty($state_id)){
$stateOptions .= '<option value="' . $state->id . '" '.(($state_id && $state_id==$state->id) ? ' selected' : '').'> ' . $state->name. ' </option>';
}else{
$stateOptions .= '<option value="'.$state->id.'">'.$state->name.'</option>';
}
}
return $stateOptions;
}
Посмотреть
<div id="state_div" class="view span3">
<select id="state" name="state" >
<?php echo $stateOptionsList; ?>
</select>
<span style="color:red;"><?php echo form_error('state')?></span>
</div>
после публикации данных, если проверка не удалась, она кодирует и не показывает ранее выбранные значения.
1 ответ
Предполагая, что вы выздоровели $state_id
с set_value()
или же set_select()
перед использованием в getStateOption()
, тебе стоит попробовать if($state_id != 0)
вместо if(!empty($state_id))
, я думаю что $state_id
никогда не будет пустым...
Во всяком случае, на мой взгляд, лучше переселить form
прямо в VIEW
,