jQuery とオートコンプリート プラグインを使用して、写真サイトにライブ検索を実装しようとしています。データをローカルに指定すると、すべてが機能します。
var data = [ {text:'Link A', url:'/page1'}, {text:'Link B', url: '/page2'} ];
ただし、これを PHP に移動すると、jQuery は結果を適切に解析できません。ここで何が起こっているのか本当にわかりません。私の現在のコードは以下の通りです:
<script>
$(document).ready(function(){
var data = '/livesearch';
$("#aut_field").autocomplete(data, {
formatItem: function(item) {
return item.text;
}
}).result(function(event, item) {
location.href = item.url;
});
});
</script>
そして、私の PHP スクリプトは、次の形式で多次元配列を出力します。
{"1":{"text":"Google Website","url":"http:\/\/www.google.com"},
"2":{"text":"Yahoo Website","url":"http:\/\/yahoo.com"},}
ただし、alert(item.text) を実行すると、変数は未定義と表示されます。
alert(item) を実行すると、PHP によって出力された文字列全体が表示されます。
eval() をいじってみましたが、どこに置くべきか、または JS に実際にデータを解釈させる方法がわかりません。ご協力いただきありがとうございます。私の実装に固有のサンプル コードは高く評価されています。