<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);
}
모델.
$("input#autocomplete").autocomplete({
source: ...,
.....,
select: function(event, ui) {
var id = ui.item.id;
$.ajax({
url: description_fetch_url, //another controller
data: "descritpion_id="+id,
....
success: function(data) {
$("#description").html(data)
}
});
}
});
자동 완성은 jQuery UI 방법입니다. 그것을 사용하려면 jQuery UI를로드해야한다. –
@ user1190992 내가 추가 한 내용이 마음에 들지만 현재 프로젝트에서 구현하는 방법을 모르겠습니다. 이것은 독립 실행 형 스크립트입니까, 아니면 현재 스크립트 내에 추가되어 있습니까? 그렇다면 어디에서 추가됩니까? 나는 아직도 AJAX에 새로운 것이므로 어떤 도움을 주시면 감사하겠습니다. – sfjamrock
@KevinBeal JQuery UI가로드되고 자동 완성 기능이 제대로 작동하므로 자동 완성 값을 가져 와서 다른 Ajax 함수를 실행하는 방법이 필요합니다. – sfjamrock