codeigniter

时间:2017-07-24 07:26:25

标签: javascript jquery codeigniter

我正在处理CodeIgniter中的动态相关下拉选择,但无法实现所需的输出:(我已经在互联网上尝试了所有解决方案,但无法识别错误..请帮我解决问题。

基本上我在数据库中有2个表。设备和问题。 设备表有2个字段,Id和Name。 问题表有3个字段q_id,question和eq_name。

我有2个<select>字段。 第一个是显示设备表值。 我想要的是,根据设备下拉选项,问题<select>字段也应该改变。

这是我的代码:

控制器:

public function getQuestion()
{
     $eq_name = $this->input->post('eq_name');

    $arrQuestion =$this->CEP_model->getQuestionQuery($eq_name);
    if(count($question)>0)
    {
        $ques_select_box='';
        $ques_select_box.='<option value=""> Select Question</option>';
        foreach($arrQuestion as $ques)
        {
            $arrQuestion[$ques->question] = $ques->question;
            $ques_select_box.='<option value="'.$ques->q_id.'">'.$ques->question.'</option>';
        }
        //print form_dropdown('question',$arrstates);
       echo json_encode($ques_select_box);

    }
}

型号:

public function getQuestionQuery($eq_name){$query = $this->db->query("SELECT question FROM questions WHERE eq_name = '{$eq_name}'");

  return $query->result();
 }

AJAX:

<script type="text/javascript">

$(document).ready(function(){$('#eq_name').on('change', function(){var eq_name = $(this).val();

 if(eq_name == '')
     {
         $('#question').prop('disabled', true);
     }
 else
    {
         $('#question').prop('disabled' , false);
        $.ajax({
            url:"<?php echo base_url(); ?>CEP_controller/getQuestion ",
            type:"POST",
            data:{'eq_name' : eq_name},
            dataType:'json', 
            success:function(data){
               $('#question').html(data);

            },
            error: function(){
                 alert('Error Occured');
            }
        });
    }
     });});</script>

视图:

<select class="form-control" name="eq_name"  id="eq_name">
   <option value="">--- Select Equipment ---</option><?php foreach($record as $row)
 { echo "<option>".$row['Name']."</option>";}?></select> <select class="form-control" name="question" id="question" disabled=""</select>

1 个答案:

答案 0 :(得分:0)

json_encode()数组编码为 json sring 而非字符串 json
视野中的变化

<select class="form-control" name="eq_name"  id="eq_name">
   <option value="">--- Select Equipment ---</option><?php foreach($record as $row)
 { echo "<option>".$row['Name']."</option>";}?></select> <select class="form-control" name="question" id="question" disabled=""></select>

并替换controllel的 getQuestion() 来自

echo json_encode($ques_select_box);

echo $ques_select_box;

还从ajax中删除 dataType:'json',