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"> <head> <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"> $(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 }); }); }); </script> </head> <body> Text: <input type="text" id="autocomplete" /> </body> </html>
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 }
Model:
{ $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.png
Pobiera 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.