Зависимый выпадающий не работает

0

В этом нижеприведенном коде у меня есть два выпадающих списка в одном раскрывающемся списке. Я получаю код курса из таблицы темы курса, а в другом кадре должен быть отображен соответствующий предметный код для выбранного кода курса из таблицы темы курса. Но я не могу получить зависимый выпадающий тематический код. Мне нравится любая помощь.

Контроллер: student_site

function search_by_course()
{
  $this->load->model('subject_model');
  $id = $this->input->post('subject_id');

  //get your data from model
  $res_subject = $this->subject_model->subject_list($id);
  $html_string = "";
  $html_string .= "<select id='subject_code_id'>";
  for($x=0;$x<count($res_subject);$x++)
  {
     $html .= "<option id=".$res_subject[$x]->subject_id.">".$res_subject[$x]->subject_name."</option>";
  }
  $html_string .= "</select>";

  echo json_encode(array('html_string'=>$html_string));
}

Модель: student_model

function subject_list($id)
    {
        //echo "exam_name inside get_subject_records".$exam_name;
        //$this->db->select('course_code,subject_code');
        //$this->db->where('exam_name',$exam_name);
        $this->db->where('course_code',$course_name);
        $query = $this->db->get('coursesubject');
        return $query->result();
    }

Вид: student_detail_view

<td >

<?php 

        $js = 'class="dropdown_class" id="course_code_id'.$row->id.'"    '; 
        $js_name = 'course_code_id'.$row->id;
        echo form_dropdown($js_name, $data, $row->course_code, $js);

?>

</td>

<td>

<div class="subject"></div>
</td>

<script>
$(function(){
    $("#course_code_id").live("change keypress",function(){
       var id = 0;
       id = $(this).val();
       if( $(this).val() !==''){           
          $.post('<?php echo site_url('student_site/search_by_course') ?>',
            {
                subject_id: id
            },function(data){
                $(".subject").html( data['html_string']);

            },"JSON"
          );
       }
   });
});
</script>
Теги:
codeigniter
drop-down-menu

1 ответ

0

Изменения:
Ввиду:

<div class="subject">
    <select id="subject_code_id"></select>
</div>

<script>
$(function(){
    $("#course_code_id").live("change", function(){
       var id = $(this).val();
       if( id != ''){           
          $.ajax({
                url     : '<?=base_url('student_site/search_by_course')?>',
                type    : 'POST',
                data    : { 'subject_id' : id },
                success : function(resp){
                    if( resp != "" ){
                        $("#subject_code_id").html('resp');
                    }else{
                        alert("No response!");
                    }
                },
                error   : function(resp){
                    alert("Error!");
                }
          });
       }
   });
});
</script>

В контроллере:

function search_by_course(){
    $this->load->model('subject_model');
    $id = $this->input->post('subject_id');

    //get your data from model
    $res_subject = $this->subject_model->subject_list($id);
    $html_string = "";
    //$html_string .= "<select id='subject_code_id'>";
    for($x=0;$x<count($res_subject);$x++)
    {
     $html .= "<option id=".$res_subject[$x]->subject_id.">".$res_subject[$x]->subject_name."</option>";
    }
    //$html_string .= "</select>";

    //echo json_encode(array('html_string'=>$html_string));
    echo $html_string;
}
  • 0
    выпадающий код курса не вызывает функцию javascript @ Nil'z
  • 0
    Вы получаете какую-либо ошибку JS в вашей консоли? Проверьте вашу console и дайте мне знать.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню