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