オートコンプリートを使用するフォームがあり、入力フィールドのデータを取得できますが、説明データを取得する方法がわかりません。私がやりたいのは、ユーザーから値を取得してから、別のコントローラーを呼び出してajaxを使用して追加情報を取得することです(そうすれば、必要に応じてより多くの情報を取得できます)。ありがとう
意見
<script type="text/javascript">
$(document).ready(function() {
$(function() {
$( "#autocomplete" ).autocomplete({
source: function(request, response) {
$.ajax({ url: "<?php echo site_url('test/suggestions'); ?>",
data: { term: $("#autocomplete").val()},
dataType: "json",
type: "POST",
success: function(data){
response(data);
}
});
},
minLength: 2
});
});
});
</script>
<label for="title">Job Title</label>
<input name="title" type="text" id="autocomplete" />
<label for="description">Description</label>
<p id="description" /></p>
コントローラ
function suggestions()
{
$this->load->model('tp_model');
$term = $this->input->post('term',TRUE);
if (strlen($term) < 1) break;
$rows = $this->tp_model->GetAutocomplete(array('keyword' => $term));
$title_array = array();
$description_array = array();
foreach ($rows as $row){
array_push($title_array, $row->title);
array_push($description_array, $row->description);
}
echo json_encode($title_array);
}
モデル
function GetAutocomplete($options = array())
{
$this->db->select('*');
$this->db->from('test');
$this->db->like('title', $options['keyword'], 'after');
$query = $this->db->get();
return $query->result();
}