Recuperar opción seleccionada de un “select”

publicado por: Anonymous

tengo una pequeña duda con respecto a la obtención del valor de un select. Verán, en mi formulario tengo mi select con 4 valores (estáticos como verán):

<div class="col-xs-4 <?php echo !empty(form_error("identificacion"))? 'has-error':'';?>">
                <label for="identificacion">Identificación:</label>
                <select name="identificacion" id="identificacion" class="form-control" required>
                    <option value="">Seleccione...</option>
                    <option value="INE">IFE / INE</option>
                    <option value="Pasaporte">Pasaporte</option>
                    <option value="Licencia de manejo">Licencia de manejo</option>
                    <option value="Cartilla militar">Cartilla militar</option>
                </select>
                <?php echo form_error("identificacion", "<span class='help-block'>", "</span>");?>
            </div>

Y estoy haciendo la parte del formulario de EDICIÓN, así que, me toca abrir el formulario y mostrar lo que previamente se había seleccionado y almacenado en la base de datos (o almacenado con la coincidencia de la opcion que manda el select. Ese es el objetivo) pero me pierdo y ya no se como hacerle. Alguno tendría una idea de como puedo mostrarlo?

Anexo imágenes por si no me expreso bien:
Así esta ahora:
introducir la descripción de la imagen aquí

Así debería de mostrarse (Ya que, en la bdd esta con ese valor)
introducir la descripción de la imagen aquí

De antemano muchas gracias.
PD: Esto fue lo que hice con otro select pero fue dinámico:

<div class="col-xs-3 <?php echo form_error("mbps") != false ? 'has-error':'';?>">
              <label for="mbps">Plan de mb:</label>
              <a href="<?php echo base_url();?>categorias/Planes_mb_controller" target="_blank" ><span class="fa fa-info-circle"></span> Info Planes</a>
              <select name="mbps" id="mbps" class="form-control">
                  <option value="">Seleccione...</option>
                  <?php if(form_error("mbps")!=false || set_value("mbps") != false): ?>
                      <?php foreach ($planes_mb as $plan) :?>
                          <option value="<?php echo $plan->id_plan_mb;?>" <?php echo set_select("mbps",$plan->id_plan_mb);?>><?php echo $plan->mbps ?></option>
                      <?php endforeach;?>
                  <?php else: ?>
                      <?php foreach ($planes_mb as $plan) :?>
                          <option value="<?php echo $plan->id_plan_mb;?>" <?php echo $plan->id_plan_mb == $contratos->plan_id ? 'selected':'';?>><?php echo $plan->mbps ?> mbps</option>
                      <?php endforeach;?>
                  <?php endif;?>
              </select>
              <?php echo form_error("mbps","<span class='help-block'>","</span>");?>
            </div>

solución

Lo que yo haría es guardar esas opciones en un array, imprimirlas en el select recorriendo ese array y luego comprar con una condición cual debe ser la seleccionada:

<?php 

$opciones = [
    ['value'=>'INE', 'nombre'=>'IFE / INE'],
    ['value'=>'Pasaporte', 'nombre'=>'Pasaporte'],
    ['value'=>'Licencia de manejo', 'nombre'=>'Licencia de manejo'],
    ['value'=>'Cartilla militar', 'nombre'=>'Cartilla militar']
];

?>

<div class="col-xs-4 <?php echo !empty(form_error("identificacion"))? 'has-error':'';?>">
    <label for="identificacion">Identificación:</label>
    <select name="identificacion" id="identificacion" class="form-control" required>
        <option value="">Seleccione...</option>
        <?php foreach($opciones as $key => $opcion): ?>
            <?php if($opcion['value'] == $identificacion): ?>
            <option selected value="<?= $opcion['value'] ?>"><?= $opcion['nombre'] ?></option>
        <?php else: ?>
            <option value="<?= $opcion['value'] ?>"><?= $opcion['nombre'] ?></option>
        <?php endif; ?>
        <?php endforeach; ?>
    </select>
    <?php echo form_error("mbps","<span class='help-block'>","</span>");?>
</div>
Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *