我正在处理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>
答案 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',