populate dropdown in codeigniter form using set_value
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
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.
<?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"'); ?>