Codeigniter - 从下拉传递到控制器的值

时间:2013-04-18 15:50:23

标签: php codeigniter

我正在尝试从包含3个选项的表单传递值,因此当用户单击任何选项时,它应将值传递给控制器​​。

我想也许我可以拥有像'onChange =“selectedValue”这样的东西。我试图从视图中抓取帖子,但它没有用。

任何帮助将不胜感激

查看

            <label>Reports</label>
            <form>
            <select NAME="hours">
              <option value="24">24</option>
              <option value="12">12</option>
              <option value="1">1</option>

            </select>
            </form>

控制器

public function about()
{
    $search = $this->input->post('hours');

    echo $search;

    $this->load->view("about");
}

1 个答案:

答案 0 :(得分:4)

您通常将视图中的值传递给控制器​​,方法是将视图中的表单与控制器中的函数相加。您可以在表单中添加JavaScript,以便在选择选项时自动提交 - onchange="this.form.submit()"。 (例如,而不是使用按钮。)

查看

<form method="post" accept-charset="utf-8" action="<?php echo site_url("yourcontroller/about"); ?>">
    <select name="hours" onchange="this.form.submit()">
        <option value="24">24</option>
        <option value="12">12</option>
        <option value="1">1</option>
    </select>
</form>

<强>控制器

public function about()
{
    //Get the value from the form.
    $search = $this->input->post('hours');

    //Put the value in an array to pass to the view. 
    $view_data['search'] = $search;

    //Pass to the value to the view. Access it as '$search' in the view.
    $this->load->view("about", $view_data);
}