如何使用codeigniter将下拉列表放入数组中

时间:2012-08-22 09:17:21

标签: codeigniter

我使用ion auth进行codeigniter,除了我不知道如何以与文本字段相同的方式编写下拉列表外,它的效果很好。

如果要在视图下显示文本字段,则必须发出以下命令:

<?php echo form_input($first_name);?>

这是控制器下的代码:

$this->data['first_name'] = array(
    'name'      => 'first_name',
    'id'        => 'first_name',
    'type'      => 'text',
    'size'      => 32,
    'maxlength' => 32,
    'value' => $this->form_validation->set_value('first_name'),
);

但是如何将下拉列表的值放入数组?

我尝试将此代码置于视图下:

<?php
$options = array(
                  ''    => 'Select',
                  'Dr'  => 'Dr.',
                  'Mr'  => 'Mr.',
                  'Mrs' => 'Mrs.',
                  'Ms' => 'Ms.',
                  'Prof' => 'Prof.',
                  'Mr. & Mrs.' => 'Mr. & Mrs.',
                );
echo form_dropdown('title', $options, '$title');
?>

我认为在视图下我应该编写代码:echo form_dropdown($title);与文本字段相同但控制器下的代码是什么?

1 个答案:

答案 0 :(得分:1)

首先在你的控制器中你可以做到:

$options = array(
              '0'    => 'Select',
              'Dr'  => 'Dr.',
              'Mr'  => 'Mr.',
              'Mrs' => 'Mrs.',
              'Ms' => 'Ms.',
              'Prof' => 'Prof.',
              'Mr. & Mrs.' => 'Mr. & Mrs.',
            );
$data['options'] = $options
$this->load->view('your_view',$data);

在视图中:

echo form_dropdown('title', $options, set_value('title'));

此外,如果出现表单验证错误,您认为要保留下拉列表的值:

你只需要进行一些验证来保留下拉列表的值,例如:

$this->form_validation->set_rules('title','Titles','alpha');

如果未经过验证,即使使用set_value

,下拉列表也不会保留值