2011-12-15 14 views
0

私は上記の入力にユーザーが文字を入力すると、その文字で始まる単語をリストに表示する必要があります。したがって、ユーザーが入力に "a"を入力すると、ドロップダウンulがポップアウトし、 "a"(おそらく "apple"または "artifact")で始まる外部PHPページの単語を表示します。さらに、ユーザーが "ab"を入力すると、ページには "ab"で始まるすべての単語が表示されます。jquery/ajaxを使用して、順序付けられていないリストに外部ページのリストを挿入しますか?

私はJquery ajaxを何らかの方法で外部ページ(単純なリストにある)から取得し、ユーザーが入力した文字に基づいて他のページに特定のデータを挿入する必要があることを知っています。これどうやってするの?

答えて

0

これは、単語の配列を返すあなたのAJAX呼び出し、からのコールバックがある場合は、このようなものが動作するはず

function ajaxComplete(listOfWords){ 
    var ul = $("<ul />"); 
    for(var i = 0; i < listOfWords.length; i++) 
     ul.append("<li>" + listOfWords[i] + "</li>"); 
    $("#someDiv").html(ul); 
} 
0

外部ページを制御できるのは、JSONデータを返すように変更するのが最も簡単な方法です。 jQuery UIオートコンプリートをそのまま使用することができます。

http://docs.jquery.com/UI/Autocomplete

文字列を[データソースパラメータとして]使用する場合、オートコンプリートプラグインは、その文字列がJSONデータが返されるURLのリソースを指すように期待しています。同じホスト上にあっても、別のホスト上にあっても構いません(JSONPを提供する必要があります)。リクエストパラメータ「term」がそのURLに追加されます。データそのものは、上記のローカルデータと同じ形式にすることができます。

ページを変更できない場合は、コールバックをプラグインに渡すための3番目のタイプのjQuery UIオートコンプリートを使用する必要があります。次に、他のページのデータを.get()でコールバックして解析します。これは、jQueryのDOMトラバーサルメソッドでは簡単です。

関連する問題