无法将下拉选择的选项从index.php发送到控制器,然后在codeigniter中发送到search.php

时间:2019-03-22 06:20:57

标签: php jquery mysql ajax codeigniter

这是我的index.php

<form class="form-horizontal well bar" action="<?php echo base_url();?>search" method="post" role="form">
    <div class="col-md-2">       
        <div class="form-group">
            <div class="col-md-12">
                <select class = "course" name = "course_offrd-name[]" onchange="" id = "course_offrd_name" class = "form-control">
                    <option value="">Select</option>    

                    <?php 
                    foreach($coursedata as $val)
                    {
                    ?>              

                    <option value="<?php echo $val->course_offrd_name;?>">

                    <?php
                    echo  $val->course_offrd_name; 
                    ?>

                    </option> 
                    <?php
                    } 
                    ?>
                </select>
            </div>
        </div>
    </div> 
</form>

这是index.php页中的Javascript代码

<script>
$(document).ready(function () {
    $("select.course").change(function () {
        var selectedCourse = $(this).children("option:selected").val();
        alert("You have selected the course - " + selectedCourse);
    });
});
</script>

这是index.php页中的ajax代码

<script type="text/javascript">
jQuery(document).ready(function($) {
    $(".course").on('change', function() 
    {
        var level = $(this).val();
        if(level)
        {
            $.ajax ({
                type: 'POST',
                url: base_url+"home/search",
                data: {course_offrd_name: selectedCourse},
                success : function(htmlresponse) 
                {
                    $('#opt_lesson_list').html(htmlresponse);
                    console.log(htmlresponse);
                }
            });
        }
    });
});
</script>

这是我的控制器

public function search()
{
    $id = $this->input->post('course_offrd_name');

    $data['result']   = $this->front->get_data_wheree($id);
    $this->load->view('home/search', $data);
}

这是我的模特

function get_data_wheree($table)
{
    $this->db->select('course_offrd_name, collg_id');
    $this->db->group_by('course_offrd_name');
    return $this->db->get('tbl_course_offered')->result();
}

这是search.php文件,即在这里我要显示所选的下拉选项

<?php 
foreach($result as $row)
{
    echo $row['course_offrd_name'];
}
?>

数据库表名称为tbl_course_offered,它具有collg_id and course_offrd_name列。

我的下拉菜单选项来自course_offrd_name

问题::我有第index.php页,并且有两个下拉选项,其中包括两门科学和数学课程。
如果我从下拉列表中选择了Science并提交了按钮,它将页面重定向到search.php并应在search.php页面上显示science。

我已经使用ajax代码尝试将数据发送到控制器,然后发送到search.php,但没有得到结果。

我的下拉选项实际上无法发送至控制器搜索功能内部,然后再发送至search.php。

代码中的问题是什么?

我的下拉选项发送仅从ajax发送到控制器失败,然后再发送到search.php控制器。

我正在使用Codeigniter3
为什么我无法将下拉选项从index.php发送到控制器,然后再发送到search.php页面?
为什么我没有在控制器中获取发布数据?

如果需要任何文件将为您提供帮助。

0 个答案:

没有答案