Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/01/2016, 13:25
wilmer30
 
Fecha de Ingreso: enero-2010
Mensajes: 491
Antigüedad: 16 años, 8 meses
Puntos: 12
Recargar el ultimo dato elejido en caso de error de un select

Hola,

Comentarles que asumí como responsable de un proyecto que ya tiene el 50% de avace, el proyecto está desarrollado en codeiniter 2.1.

El problema es que en un formulario tengo una lista "select" cuando ocurre un error de validación este se vuelve a cargar excepto las listas.
revisando el código me doy cuenta que al momento de ejectuar el boton inmediatamente se envía al "form_validation" pero para que recargue con los mismo datos se tienen las siguientes lineas de código en el controlador:
Código PHP:
        $this->form_validation->set_rules("usu_nombre", "Nombre", "required");
        
$this->form_validation->set_rules("usu_apellido", "Apellido", "required");
        
$this->form_validation->set_rules("usu_login", "Usuario", "required");
        
$this->form_validation->set_rules("usu_correo", "Correo", "required|valid_email");
        
$this->form_validation->set_rules("usu_fechanacimiento", "Fecha de nacimiento", "required");
        
$this->form_validation->set_rules("usu_ci", "Nro Identificación","required");
        
$this->form_validation->set_rules("tdoc_id", "Tipo Documento"); 
El último sería la lista "select", también vi en el manual que con la siguiente sentensia debería trabajar:
Código HTML:
<select name="myselect">
<option value="one" <?php echo set_select('mi_select', 'uno', TRUE); ?> >One</option>
<option value="two" <?php echo set_select('mi_select', 'dos'); ?> >Two</option>
<option value="three" <?php echo set_select('mi_select', 'tres'); ?> >Three</option>
</select> 
el caso es que los datos se rellenan directamente en el modelo y lo retorno de esta manera:
Código PHP:
    public function getTipoDocumento($tdoc) {
        
$this->db->select("*");
        
$this->db->from("tab_tipodocumento");
        
$query = $this->db->get();
        
$option = "";
        foreach (
$query->result_array() as $row) {
            
$doc_id = $row['tdoc_id'];
            
$nombre = $row['tdoc_documento'];
            if (
$tdoc == $doc_id) {
                
$option.="<option value='" . $doc_id . "' selected>" . $nombre . "</option>";
            } else {
                
$option.="<option value='" . $doc_id . "'>" . $nombre . "</option>";
            }
        }
        return 
$option;
    } 
algúna idea de cómo puedo recargar los últimos datos elegidos en caso de error del formulario?