2012-02-02 14 views
0

JSON形式の値をsearchAlbum.phpから取得する非常に単純なフォームがあります。何か入力を開始すると機能しますが、結果をフィルタリングしません。たとえば、abと入力しても、利用可能な文字として123が表示されます。入力時にオートコンプリートで結果がフィルタリングされない

これは私のsaerchAlbum.phpこれは私のJavaスクリプトコード

$(document).ready(function(){ 
       $('.albumName').autocomplete({ 
        source: 'searchAlbum.php' 
       }); 
}); 

であるあなたは、それは私のresouldsをフィルタリングしてはならないと、私のように私の入力を渡す必要があると言うかもしれない

["123","abc"] 

を返しているものですしかし、それでなぜthis jquery-uiページのexamleが私のためにそれをしますか?

+1

あなたはjQueryではなくサーバー側のコードに問題があると考えましたか? –

答えて

0

ドキュメントは明確ではありませんが、オートコンプリータでフィルタリングを行うのは、コードが全く呼び出されないときだけです(たとえば、配列にsourceというように指定した場合)。コードが呼び出されると(sourceの関数を指定したためにクライアント側のコード、またはURLを指定したためにサーバー側のコード)、コードでフィルタリングが行われます。

あなたは私のresouldsをフィルタリングすべきではないと言っているでしょうし、私はパラメタとして入力を渡す必要がありますが、なぜjquery-uiページのこのexamleは私のためですか?

この例では、termパラメータに基づいて結果をフィルタリングするため、オートコンプリータはそれを渡します。あなたはこれらから得られる結果を比較します

http://jqueryui.com/demos/autocomplete/search.php?term=ti

http://jqueryui.com/demos/autocomplete/search.php?term=ro

あなたはそれがサーバー側のフィルタリングだことがわかります。

+0

ありがとう、私の問題を修正 – sed

0

jsが "term"という名前のクエリ文字列パラメータを送信すると、phpコードは "term"パラメータに一致する既存のデータをフィルタリングしてデータを返す必要があります。

0

これはJavascriptまたはjQueryの問題ではなく、PHPの問題です。リンクされたjQuery-UIページで述べたように、ソーススクリプトはGETリクエストを介して "term"プロパティを処理する必要があります。

関連する問題