如何在codeigniter中给出控制器中的下拉值

时间:2013-02-21 08:32:22

标签: codeigniter codeigniter-form-helper

我在codeigniter中有这个代码(codeigniter控制器中的表单部分):

$this->data['SalaryType'] = array(
    'name' => 'SalaryType',
    'id' => 'SalaryType',
    'type' => 'text',
    'value' => $this->form_validation->set_value('SalaryType'),
);
$this->data['DefaultSalary'] = array(
   'name' => 'DefaultSalary',
   'id' => 'DefaultSalary',
   'type' => 'text',
   'value' => $this->form_validation->set_value('DefaultSalary'),
);
$this->data['Salary_options'] = array(
    'language' => 'monthly',
    'world' => 'world'
);

(codeigniter视图中的表单部分):

  <p>
        Salary Type: <br />
        <?php echo form_dropdown($SalaryType,$Salary_options,'monthly');?>
  </p>

  <p>
        Default Salary: <br />
        <?php echo form_input($DefaultSalary);?>
  </p>

我希望使用下拉值但仅形成发送输入值,我无法访问下拉值 我检查print_r($_POST);,但是在数组后观察'DefaultSalary'。

2 个答案:

答案 0 :(得分:1)

您已经错误地初始化了下拉列表

<?php echo form_dropdown($SalaryType,$Salary_options,'monthly');?>

改为使用

<?php echo form_dropdown('DefaultSalary',$Salary_options,'language');?>

第一个参数是控件的名称

第二个参数是选项数组 - &gt;这是正确的

第三个参数是选项数组非值中的选定索引,可以是您的“语言”而不是“每月”

阅读form_helper

您可以使用$this->input->post('DefaultSalary');访问它,它将返回所选选项的值

答案 1 :(得分:1)

可能是你的名字attr下拉不设置... 要向form_drop添加id,你可以尝试这个..

form_dropdown('country', $options_array, '1','id="select_id"')

注意:这未经过测试。