2011-12-10 10 views
1

私は、このリンクを介してのAPIからBingの値をretrivingています:オンキーアップ値が解析されています。 jQueryオートコンプリートでこれらの値を設定する方法は?

http://api.bing.net/qson.aspx?Query=s&Market=en-us&JsonType=callback&JsonCallback=

今、私はkeyUpイベントの結果を解析し、体内でそれらを追加するとき、それは動作しますが、私はjQueryのオートコンプリートの結果を設定すると、それはdoesnの't。ここで

は一例です:http://jsfiddle.net/LkVcg/

注:フィドルに私はYahooの自動車をも含めたのと同じ方法で、私はそれが動作する必要があることを証明することができるように使用するお勧めします。

私は間違っていますか? Bingの結果をjQueryのオートコンプリート()に表示させるにはどうすればよいですか?

+0

は、あなたも、デベロッパーコンソールを見てきました:-)好きなら?それはエラーでいっぱいです。 – Esailija

+0

しました。エラーが1つあります:「HTTPバージョンはサポートされていません」keyUpでサポートされていますか?プラス私は、結果がまだオートコンプリートにキーアップバージョンを設定するさまざまな方法を試みた – jQuerybeast

+0

また、プロパティの長さを読み取ることができません – Esailija

答えて

2

Hereは、フィドルの作業バージョンです。

2つのキーの変更がありました:

  1. 私はあなたの "からkeyup" バージョンのようにURLとパラメータを設定するには。これで505が修正されました。
  2. "keyup"コードのように "val.Text"ではなく "success"ハンドラで "val.key"を参照していました。このよう

$("#bing_auto").autocomplete({ 
    source: function (request, response) { 
     console.log("source"); 
     $.ajax({ 
      url: "http://api.bing.net/qson.aspx?Query=" + encodeURIComponent(request.term) + "&JsonType=callback&JsonCallback=?", 
      dataType: "jsonp", 
      /*data: { 
       "Query": request.term, 
       "JsonType": "callback", 
       "JsonCallback" : "?" 
      },*/ 


      success: function (data) { 
       console.log("success!"); 
       var suggestions = []; 
       $.each(data.SearchSuggestion.Section, function (i, val) { 
        console.log("suggestion: " + val.Text); 
        suggestions.push(val.Text); 
       }); 
       response(suggestions); 

      } 
     }); 
    } 
}); 

(アウトテイク "はconsole.log()" を呼び出し、あなたは

+0

「bingキーアップ」では、「9 jquery-1.7.1.js:630Uncaught TypeError: {17:13:27.046}オブジェクトは未定義です@ http://code.jquery.com/jquery-1.7.1.js :630' – Esailija

+0

Linux上のFirefox 8ではうまく動作します。私はまったく間違いがない。 – Pointy

+0

あなたは私がどれくらい時間を取ったか想像することができます。それは私のためのすべてのブラウザで完璧に動作します – jQuerybeast

関連する問題