Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    105

    [Twitter Bootstrap]Typeahead dati in remoto

    Sale a tutti,
    ho scoperto da poco il framework in oggetto e stavo facendo delle prove quando mi sono imbattuto nel plugin typeahead, premetto che uso codeigniter, finché uso un array come sorgente tutto funziona:

    codice:
    var a = ['cane', 'gatto', 'altro'];
    $('#id_cliente').typeahead({
    source: a
    });
    ma nel momento in cui provo a configurare dei dati da remoto(con mysql) niente! almeno durante le prime prove mi dava qualche errore, adesso niente, nessun errore ma nessun risultato!
    Vi posto il codice:
    il Model(pazienti_model):
    Codice PHP:
    public function get()
         {
             
    $cliente $this->input->post('search');

            
    $this->db->select('nome');
            
    $this->db->from('cliente_fisico');
            
    $this->db->like('nome'$cliente);
            
    $query $this->db->get();
            
            
    $clienti_array = array();
            foreach (
    $query->result() as $row) {
             
    $clienti_array[] = $row->name;
            }
            
    $data $clienti_array;
            
            return 
    $data;
         } 
    Il controller(pazienti)
    Codice PHP:
    public function get_clienti() {
             
    $this->load->model('pazienti_model');
             
    $this->pazienti_model->get();
            
             
    $data $this->pazienti_model->get();
            
             echo 
    json_encode($data);
         } 
    ed infine lo script javascript
    codice:
    $('#id_cliente').typeahead({
    	    source: function(typeahead, query) {
    	     $.ajax({
    	      url: "pazienti/get_clienti",
    	      type: "post",
    	      data: "search=" + query,
    	      dataType: "json",
    	      async: false,
    	      success: function(data) {
    	       typeahead.process(data);
    	      }
    	     });
    	    }
    	   });
    ovviamente in una view separata(nuovo_paziente) è presente il tag input:
    codice:
    <input type="text" class="input-medium" placeholder="Codice Cliente" required="required" id="id_cliente" name="id_cliente" autocomplete="off" data-provide='typeahead'>
    Cosa pensate possa essere? Spero riusciate ad aiutarmi!
    grazie 1000 in anticipo!

    Saluti Satore11

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    105
    Salve gente, volevo comunicare che per adesso ho risolto utilizzando il plugin di jquery ui "autocomplete" utilizzando il tema di twitter bootstrap (http://addyosmani.github.com/jquery-ui-bootstrap/), è chiaro che son ben accetti consigli per il funzionamento di typeahead. Volevo inoltre chiedere al moderatore se secondo lui era il caso di spostare la conversazione nella sezione lato server->php. Forse l'errore potrebbe essere nel codice php.

    Grazie mille!
    Saluti Satore11

  3. #3
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    sinceramente prima di spostare sarebbe il caso di accertarsi che i dati arrivino correttamente o meno, cosa che e' piu' semplice da fare per te piuttosto che per qualcun altro al tuo posto, che dovrebbe ricostruire la struttura sui due fronti

    ...
    success: function(data) {
    console.log(data)
    typeahead.process(data);
    }

    poi vai nella console javascript e verifica cosa arriva

    ciao

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    41
    Ciao, prova cosi':


    $("#id").typeahead({
    minLength: 2,
    source: function(query, process) {
    $.post('URL', { query: query }, function(data) {
    process(data);
    });
    }
    });

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.