2009-08-21 12 views

Odpowiedz

13

Od bmoueskau dostarczył dość pełni funkcjonalny wdrożenia, myślałem bardziej goły Przykładem może pomóc.

var store = new Ext.data.JsonStore({ 
    url: '/your/ajax/script/', 
    root: 'data', // the root of the array you'll send down 
    idProperty: 'id', 
    fields: ['id','value'] 
}); 

var combo = new Ext.form.ComboBox({ 
    store: store, 
    displayField:'value', 
    typeAhead: true, 
    mode: 'remote', 
    queryParam: 'query', //contents of the field sent to server. 
    hideTrigger: true, //hide trigger so it doesn't look like a combobox. 
    selectOnFocus:true, 
    width: 250, 
    renderTo: 'autocomplete' //the id of the html element to render to. 
           //Not necessary if this is in an Ext formPanel. 
}); 

Magazyn będzie akceptować odpowiedzi z serwera sformatowany tak:

{ 
    "success": true, 
    "data": [ 
     { 
      "id": 10, 
      "value": "Automobile" 
     }, 
     { 
      "id": 24, 
      "value": "Autocomplete" 
     } 
    ] 
} 

Oczywiście, można również założyć swój sklep z Ext.data.XMLReader jeśli to bardziej swój styl.

Mam nadzieję, że zaczniesz. Nie mogę wystarczająco podkreślić niesamowitości Ext documentation. Oprócz combobox samples zawiera on kilka użytecznych przykładów, z których korzystałem, gdy po raz pierwszy wykonałem autouzupełnianie.

+0

nagie kości pomaga :) –

+0

Czy to działa? – wes

+0

Świetna odpowiedź. To działa! – clops

6

Nie ma osobnej funkcji autouzupełniania, która może być dołączana do wejść w sposób ogólny - wystarczy użyć kontrolki ComboBox z funkcją filtrowania po stronie serwera (można użyć konfiguracji "hideTrigger: true", aby nadal wyglądała jak zwykła wkład). To jest chyba najbliżej przykład do czego można chcieć:

http://extjs.com/deploy/dev/examples/form/forum-search.html

+1

Dodatkowo, myślę, że można ustawić dla lokalnego filtrowania też. – Thevs

+0

Dzięki bmoeskau za wejście. Złożyłem nagrodę, żeby zobaczyć, czy uda mi się uzyskać przykład, czy dwa. –

Powiązane problemy