Php 使用codeigniter的相关下拉列表不会删除其相应的值

Php 使用codeigniter的相关下拉列表不会删除其相应的值,php,codeigniter,jquery,Php,Codeigniter,Jquery,在下面的codeigniter代码中,我放置了控制器、模型和视图。我的目标是从对应于考试名称的考试课程中获取课程代码。但我的实际结果是,当我从下拉列表中选择考试名称时,并没有从考试课程表中显示其对应的课程代码 控制器;进口 public function index() { //echo "inside form upload"; $data = array(); //$college_name = $this->session->userdat

在下面的codeigniter代码中,我放置了控制器、模型和视图。我的目标是从对应于考试名称的考试课程中获取课程代码。但我的实际结果是,当我从下拉列表中选择考试名称时,并没有从考试课程表中显示其对应的课程代码

控制器;进口

public function index()
{   
    //echo "inside form upload";   

    $data = array();
    //$college_name = $this->session->userdata('college_name');
    if($query = $this->import_model->get_exam_data())
    {
        $data['exam_data'] = $query;
    }
    //$this->load->view('student_view', $data);

    $this->load->view('form_upload',$data);
}
function subjectcodedetails()
{   
    $data = array();
    //$college_name = $this->session->userdata('college_name');
    $exam_name = $this->input->post('exam_name');
    //$course_name = $this->input->post('course_name');
    if($query = $this->import_model->get_subject_records($exam_name))
    {
        $data['subject_records'] = $query;
    }
    $this->load->view('subject_view', $data);
}
型号:导入\u型号:

function get_exam_data()
{
    $this->db->distinct();
    $this->db->select("CONCAT(exam_name) AS fullexamname", FALSE);//this will concat the value
    //$this->db->where('college_name',$college_name);
    $query = $this->db->get('examcourse');
    return $query->result();
}
function get_subject_records($exam_name)
{
    //echo "exam_name inside get_subject_records".$exam_name;
    $this->db->select('course_code');
    //$this->db->where('exam_name',$exam_name);
    $this->db->where('fullexamname',$exam_name);
    //$this->db->where('college_name',$college_name);
    $query = $this->db->get('examcourse');
    return $query->result();
}
查看:表单上传:

<script type="text/javascript" charset="utf-8">
 function get_subjectcodedetails() {

        //var course_name = jQuery('#course_name_id').val();
        var exam_name = jQuery('#exam_name_id').val();
        //alert("course_name"+course_name);
        alert("exam_name"+exam_name);
        jQuery.ajax({
        data: '&course_name=' + course_name,
        type: 'POST',
        url: 'import/subjectcodedetails',
        success: function(data){
            //alert("inside change"+data);
            console.log(data);
            jQuery('#ssubject_code').html(data);
        }
    });

} 
</script>
<form action="http://localhost/CodeIgniter/index.php/import/upload" method="post" accept-charset="utf-8" enctype="multipart/form-data">        <?php 
        $data = array();
        $data["Select Exam Name"] = "Select Exam Name"; 
        foreach ($exam_data as $row)
        {
            $data[$row->fullexamname] = $row->fullexamname; 
        }
        echo form_dropdown('exam_name', $data, 'small', 'class="dropdown_class"  id="exam_name_id" onChange="get_subjectcodedetails()"');
?>
<div id="ssubject_code">
视图:主题视图:

<?php 
        $data = array();
        foreach ($course_records as $row)
        {
            $data[$row->course_code] = $row->course_code; 
        } 
        echo form_dropdown('course_name', $data, 'small','class="dropdown_class"  id="course_name_id"');
?>  

您的ajax数据看起来有问题,您应该修改数据:{name:exam_name}所选值未通过如果您按照@LLL所说的更改数据,那么您将得到响应。并且您的php帖子应该修改$this->input->post'name';这是一个示例。您的foreach假设一个名为$course\u records的集合,但加载此视图的控制器从未在传递给它的$data数组中设置此集合。尝试将foreach循环中的$course\u记录更改为$subject\u记录。