2011-01-15 11 views
8

私はjQuery UIオートコンプリート機能を使用しています。jQuery UIオートリフレッシュ・リフレッシュ・データ

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; 
} 

ユーザーが新しい色を入力すると、色の配列に保存されます。私はオートコンプリートフォームに切り替えるが、入力したデータはページをリフレッシュするまで利用可能ではない。

新しい色をオートコンプリートにする方法はありますか?

+0

*実際のコードを質問に投稿してください...あなたが投稿したコードにかなりの誤りがあります。問題は*働いているように表現されていますので、別のコード質問では、私が誤解して、それが*現在*働いていない場合、答えにコメントしてください。 –

答えて

21

あなたは色を更新すると、あなたはこのように、またsource that autocomplete usesを更新する必要があります。

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

Here's a sample demo doing this、色を追加し、第二いったんオートコンプリートソースを更新します。

+0

これは今働きました! –

+0

@ArtWorkAD - welcome :) –

+0

私はオートコンプリートを使用しますが、 'select'イベントのコールバック関数を使用します。これをやっても、コールバック関数を再設定しないのはどうでしょうか?コールバックイベントはまだ機能するのでしょうか、それとも消えるでしょうか? – madtyn

0

完全に論理的に見えるNick Craverのソリューションを試しました。多分、私は 'source'として配列ではなくURL文字列を使用しているからです。残念ながら、彼の解決策は、返されたajaxデータのライブリフレッシュを行いません。私は「検索」の方法は、文字列やAJAX URLソースタイプに必要な、と思います

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

:Ajaxのデータソースを更新するために、私は次のように動作することを発見しました。

関連する問題