2011-01-15 16 views
8

Używam funkcji autouzupełniania ui jQuery.jQuery UI autouzupełnianie odśwież dane

var colors; 

$(document).ready(function(){ 
     loadColors(); 
     $('#empf').autocomplete(colors); 
} 

function loadColors(){ 
colors = new Array(getNumColor()); 
//in a loop save the colors to array using colors[i] = ... 
} 

function addColor(){ 
    ... 
    color[n] = color; 
} 

Po wprowadzeniu przez użytkownika nowego koloru zostaje on zapisany w tablicy kolorów. Przechodzę do formularza autouzupełniania, ale wprowadzone dane nie są dostępne, dopóki nie odświeżę strony.

Wszelkie pomysły na udostępnienie nowego koloru dla autouzupełniania?

+0

Pamiętaj, aby opublikować swój * aktualny * kod w pytaniach ... w opublikowanym przez ciebie kodzie jest sporo błędów, pytanie jest sformułowane tak, jak to * działa *, więc przypisuję to do innego kodu w pytaniu, proszę skomentuj odpowiedź, jeśli źle zrozumiałem i to * nie * obecnie działa. –

Odpowiedz

21

Po zaktualizowaniu kolor, trzeba także zaktualizować source that autocomplete uses coś takiego:

function addColor() { 
    //add colors 
    $('#empf').autocomplete("option", { source: colors }); 
} 

Here's a sample demo doing this, dodając kolor i aktualizowanie źródła autouzupełniania raz drugi.

+0

dzięki to działa teraz! –

+0

@ArtWorkAD - witamy :) –

+0

Używam autouzupełniania, ale z funkcją zwrotną dla zdarzenia "wybierz". A co powiesz na robienie tego, ale nie na ponowną konfigurację funkcji zwrotnej? Czy zdarzenie wywołania zwrotnego nadal działałoby, czy też znikało? – madtyn

0

Próbowałem rozwiązania Nicka Cravera, które wygląda całkowicie logicznie. Być może dlatego, że używam łańcucha adresu URL, a nie tablicy jako "źródła". Niestety jego rozwiązanie nie wykonuje odświeżania na żywo dla zwróconych danych ajaxowych. W celu odświeżenia ajax źródło danych, stwierdziliśmy, że następujące prace:

element.autocomplete("option","source",url); 
element.autocomplete("search"); 

Myślę, że metoda „szukaj” jest wymagane dla typów łańcuchowych lub ajax źródłowych adresów URL.

Powiązane problemy