2011-09-09 26 views
0

私はリモートデータソースを呼び出し、jsonに戻ります。アイテムを選択すると、select:コールバックオプションでアイテムのラベルと値を扱うことができますが、私のjsonオブジェクトの他のプロパティで他のフィールドをオートポピュレートすることもできます。jQueryオートコンプリートで他のフィールドを選択して入力してください

これを行う便利な方法はありますか?私がこれまで見ているオプション...

  1. キャッシュAjaxのレスポンスJSONのグローバルオブジェクトと参照を選択
  2. 再クエリした後、このグローバルオブジェクト
項目の値やラベルを使用して、選択上のデータベース

どちらかについて特に満足していません。思考?

編集 私は私はあなたが唯一のラベルと値で動作することができると思いますどのような$ .MAP

$('#accountName').autocomplete({ 
    source: function (request, response) { 

     $.getAccountsByNameLike(request.term, function (data) { 
      response($.map(data, function (item) { 
       return { 
        label: item.Name + ' (' + item.Address.City + ', ' + item.Address.StateOrProvince + ')', 
        value: item.AccountId, 
        // Added to fix issue 
        raw: item 
       } 
      })); 
     }, function (error) { 
      // async kickoff a log to logging server service... 
      alert("There was a problem while trying to retrieve account names. Please contact support"); 
     }); 

答えて

4

を使用していた忘れてしまいましたか?

select: function (event, ui) { 
     foo = ui.item.label; 
     $("#bar").val(ui.item.id); 
     baz = (ui.item.JsonField); 
    }