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,

Другие вопросы по тегам