0

我在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'。

4

2 回答 2

1

您以错误的方式初始化下拉菜单

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

改为使用

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

第一个参数是控件的名称

第二个参数是选项数组->这是正确的

第三个参数是从选项数组中选择的索引,而不是在您的情况下可以是“语言”而不是“每月”的值

阅读form_helper

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

于 2013-02-21T09:56:54.180 回答
1

可能是您的下拉名称 attr 未设置...要将 id 添加到 form_drop down 您可以试试这个..

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

注意:这未经测试。

于 2013-02-21T11:10:33.610 回答