2012-08-09 83 views
5

Tengo la siguiente vista, pero ¿cómo se aplica set_value sin la opción predeterminada? Seleccione?Codeigniter de PHP: set_value en el menú desplegable

<label for="add_fields_type">Type: </label> 
<select name="add_fields_type" id="add_fields_type"> 
    <option value="">Please Select</option> 
    <option value="<?php echo set_value('input'); ?>">Input</option> 
    <option value="<?php echo set_value('textarea'); ?>">Text Area</option> 
    <option value="<?php echo set_value('radiobutton'); ?>">Radio Button</option> 
    <option value="<?php echo set_value('checkbox'); ?>">Check Box</option> 
</select> 

Actualización:

Vista:

<label for="add_fields_placeholder">Placeholder: </label> 
    <select name="add_fields_placeholder" id="add_fields_placeholder"> 
     <option value="">Please Select</option> 
     <option value="<?php echo set_value('yes'<?php echo set_select('add_fields_placeholder','yes', (!empty($placeholderType) && $placeholderType == "yes" ? TRUE : FALSE));?>">Yes</option> 
     <option value="<?php echo set_value('no' <?php echo set_select('add_fields_placeholder','no', (!empty($placeholderType) && $placeholderType == "no" ? TRUE : FALSE)); ?>">No</option> 
    </select> 

    <label for="add_fields_placeholderValue">Placeholder Text: </label> 
    <input type="text" name="add_fields_placeholderValue" id="add_fields_placeholderValue" value="<?php echo set_value('add_fields_placeholderValue'); ?>"> 

    <label for="add_fields_type">Type: </label> 
<select name="add_fields_type" id="add_fields_type"> 
    <option value="">Please Select</option> 
    <option value="input" <?php echo set_select('add_fields_type','input', (!empty($fieldType) && $fieldType == "input" ? TRUE : FALSE)); ?>>Input</option> 
    <option value="textarea" <?php echo set_select('add_fields_type','textarea', (!empty($fieldType) && $fieldType == "textarea" ? TRUE : FALSE)); ?>>Text Area</option> 
    <option value="radiobutton" <?php echo set_select('add_fields_type','radiobutton', (!empty($fieldType) && $fieldType == "radiobutton" ? TRUE : FALSE)); ?>>Radio Button</option> 
    <option value="checkbox" <?php echo set_select('add_fields_type','checkbox', (!empty($data) && $data == "checkbox" ? TRUE : FALSE)); ?>>Check Box</option> 
</select> 

controlador:

$data['fieldType'] = $this->input->get('add_fields_type'); 
$data['placeholderType'] = $this->input->get('add_fields_placeholder'); 

Línea 16:

<option value="<?php echo set_value('yes'<?php echo set_select('add_fields_placeholder','yes', (!empty($placeholderType) && $placeholderType == "yes" ? TRUE : FALSE));?>">Yes</option> 

Respuesta

7

Esto debería ayudar:

Controlador (prueba.php)

<?php 
    class Setup extends CI_Controller { 

     function index() { 
      //for the set_select() function 
      $this->load->library('form_validation'); 

      //for base_url() function 
      $this->load->helper('url'); 

      $list['data'] = $this->input->get('add_fields_type'); 

      $this->load->view('test_view.php', $list); 
     } 
?> 

Ver (test_view.php)

<!DOCTYPE HTML> 
<html> 
<body> 
<form action="<?php echo base_url(); ?>test"> 
    <label for="add_fields_type">Type: </label> 
    <select name="add_fields_type" id="add_fields_type"> 
     <option value="">Please Select</option> 
     <option value="input" <?php echo set_select('add_fields_type','input', (!empty($data) && $data == "input" ? TRUE : FALSE)); ?>>Input</option> 
     <option value="textarea" <?php echo set_select('add_fields_type','textarea', (!empty($data) && $data == "textarea" ? TRUE : FALSE)); ?>>Text Area</option> 
     <option value="radiobutton" <?php echo set_select('add_fields_type','radiobutton', (!empty($data) && $data == "radiobutton" ? TRUE : FALSE)); ?>>Radio Button</option> 
     <option value="checkbox" <?php echo set_select('add_fields_type','checkbox', (!empty($data) && $data == "checkbox" ? TRUE : FALSE)); ?>>Check Box</option> 
    </select> 
    <input type="submit" /> 
</form> 
</body> 
</html> 

Nota: El tercer parámetro de la set_select() determina si debe ser seleccionado o no

+0

Gracias, me aparece el error Parse: error de sintaxis, inesperado '?' –

+0

¿Qué línea? Porque lo intenté y funcionó bien para mí –

+0

He dado el código completo ** Controlador ** y ** Ver ** ahora. Simplemente copie y pruebe. –

3

Prueba esto:

<option value="<?php echo set_value('textarea'); ?>" <?php echo (set_value('textarea')=='TEXTAREA')?" selected=' selected'":""?>>Text Area</option> 

Por encima de área de texto es el valor que se espera que entre en la opción

0

Prueba esto: -

Ver url: - - http://codeigniter.com/user_guide/helpers/form_helper.html

$options = array(
        'small' => 'Small Shirt', 
        'med' => 'Medium Shirt', 
        'large' => 'Large Shirt', 
        'xlarge' => 'Extra Large Shirt', 
       ); 

$shirts_on_sale = array('small', 'large'); 

echo form_dropdown('shirts', $options, 'large'); 

// produciría:

<select name="shirts"> 
<option value="small">Small Shirt</option> 
<option value="med">Medium Shirt</option> 
<option value="large" selected="selected">Large Shirt</option> 
<option value="xlarge">Extra Large Shirt</option> 
</select> 

echo form_dropdown('shirts', $options, $shirts_on_sale); 

// produciría:

<select name="shirts" multiple="multiple"> 
<option value="small" selected="selected">Small Shirt</option> 
<option value="med">Medium Shirt</option> 
<option value="large" selected="selected">Large Shirt</option> 
<option value="xlarge">Extra Large Shirt</option> 
</select> 
2

Una especie de lo que dijo Abid, usted sólo tiene que utilizar set_value() después de la validación de formularios.

form_dropdown('add_fields_type', $field_types, set_value('field_type')); 
Cuestiones relacionadas