Witam.
Chciałem wykonać auto uzupełnianie przy użyciu CodeIgnitera oraz jQuery ale jakoś nie wychodzi. Kod wygląda następująco:
Widok:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script> <script type="text/javascript"> $(document).ready(function() {
$(function() {
$( "#autocomplete" ).autocomplete({
source: function(request, response) {
$.ajax({ url: "<?php echo site_url('site/suggestions'); ?>",
data: { term: $("#autocomplete").val()},
dataType: "json",
type: "POST",
success: function(data){
response(data);
}
});
},
minLength: 2
});
});
});
Text:
<input type="text" id="autocomplete" />
Kontroler:Funkcja odpowiedzialna za podpowiedzi:
function suggestions()
{
$this->load->view('autocomplete');
$this->load->model('data_model');
$term = $this->input->post('term');
$this->db->select('login');
$this->db->like('login', $term);
$query = $this->db->get('uzytkownicy');
foreach ($query->result() as $row)
// Return data
echo json_encode
($podpowiedzi); }
Model:
function GetAutocomplete
($options = array()) {
$this->db->select('login');
$this->db->like('login', $options['login']);
$query = $this->db->get('uzytkownicy');
return $query->result();
}
Wynik:
http://img135.imageshack.us/img135/8020/cl...clipboardeb.pngPobiera dane dobrze z bazy, ale wyświetla je obok pola tekstowego, a jak wiemy powinno po wpisaniu jakiejś razy w inpucie. Z góry dziękuję za pomoc.
Ten post edytował konradinho 19.04.2012, 13:14:10