populate dropdown in codeigniter form using set_value

前端 未结 5 352
深忆病人
深忆病人 2021-01-03 11:30

i have a form that uses a drop down and im using codeigniter , form helper and form validation so when i get a validation error in my form , all the correctly entered fields

相关标签:
5条回答
  • 2021-01-03 12:11

    The correct method to use set_select() is

    <select name="myselect">
    <option value="one" <?php echo set_select('myselect', 'one', TRUE); ?> >One</option>
    <option value="two" <?php echo set_select('myselect', 'two'); ?> >Two</option>
    <option value="three" <?php echo set_select('myselect', 'three'); ?> >Three</option>
    </select>
    

    So Andras Ratz method/answer won't work.

    Your method is correct.

    <?php echo form_dropdown('mid', $id_map, set_value('mid'), 'id="mid"') ?>
    

    However remember that set_value() is only going to return the value if you have setup a validation rule for it, in your case for mid. You could try as below -

    <?php echo form_dropdown('mid', $id_map, (isset($_POST['mid']) ? $_POST['mid'] : ''), 'id="mid"') ?>
    

    or just set a validation rule for mid too

    0 讨论(0)
  • 2021-01-03 12:15

    If you do not have a validation rule on the actual dropdown field, then

    echo form_dropdown('mid',$id_map);
    

    is sufficient.

    0 讨论(0)
  • 2021-01-03 12:21

    It's because you have to use the set_select() function , not the set_value();

    You can check that here: http://codeigniter.com/user_guide/helpers/form_helper.html

    And the right syntax:

    EDIT :

    <?php echo form_dropdown('mid', $id_map,  set_select('mid'), 'id="mid"'); ?>
    

    If you have a default value, that should go in the 2. parameter for set_select.

    I hope this will work.

    0 讨论(0)
  • 2021-01-03 12:32

    What about if the the form select content is selected from a foreach loop like this

    <?php foreach ($roles as $role) {
            echo "<option value=" . $role->id . ">" . $role->role_name . "</option>";
                          }
          ?>
    
    0 讨论(0)
  • 2021-01-03 12:35
      <?php // Change the values in this array to populate your dropdown as required
                        $options = array(
                        'active' => 'Active',
                        'inactive' => 'Inactive',
                        );
                        echo form_dropdown('mid', $options,$id_map, ' id="mid"');
                        ?>
    
    0 讨论(0)
提交回复
热议问题