今天我用codeigniter创建了一个新程序并遇到了一些问题。 我的代码应该在我调用get和我的项目的jsons完全加载时完成,但是当我调用select2时它无法加载。
这是我的控制器
public function ajax_search_mitra()
{
$query = $this->input->get('q');
$result = $this->TheModel->get_ajax_entries($query);
$this->output->set_status_header(200, 'OK')
->set_content_type('application/json')
->set_output(json_encode($result));
}
这是我的模特
public function get_ajax_entries($query)
{
$this->db->like('mtrId', $query);
$this->db->or_like('mtrDescription', $query);
$master_mitra = $this->db->get('master_mitra')->result();
$master_mitra_array = array();
foreach ($master_mitra as $row)
{
$master_mitra_array[] = array('mtrId' => $row->mtrId, 'text' => $row->mtrDescription);
}
return $master_mitra_array;
}
某些车辙
$route['ajax_search_mitra']['get'] = "projects/ajax_search_mitra";
select2的ajax
$('select[id="prjMtrId"]').select2({
placeholder: "Select Mitra",
allowClear: true,
ajax:{
url : "ajax_search_mitra",
dataType : 'json',
delay : 250,
data: function (params) {
return {
q: params.term
};
},
processResults: function (data) {
console.log(data);
return {
results: data
};
},
}
});
和我的观点
<div class="form-group">
<label for="prjMtrId" class="control-label">Mitra</label>
<select class="select" style="width:100%;" name="prjMtrId" id="prjMtrId"></select>
<input type="hidden" name="code_emp" class="prjMtrId">
</div>
任何人都知道我的问题在哪里,非常感谢您的解决方案。