2

Jquery UIのオートコンプリートを使用しているため、Firebugに適切なJSONデータが戻ってくるのがわかります。しかし、何もテキストボックスに戻ってきません。JQuery UIを使用して表示するオートコンプリートで結果が表示されない

私はJavaScript:

$(function() { 
     function log(message) { 
      $("<div/>").text(message).prependTo("#log"); 

     } 

     $("#tags").autocomplete({ 
     source: function(request, response){ 
        $.ajax ({ 
       url: "/projectlist", 
           dataType: "json", 
           data: {style: "full", maxRows: 12, term: request.term} 
          }); 
              } 

    }) 
}); 

あなたはスニペットからJSONデータが返されることがわかります。しかし、結果テーブルには何も表示されません。あなたは何も返さないのでNoyhingが表示されJQuery Autocomplete

Snippet of what browser returns in firebug

答えて

0

jQueryのオートコンプリートの例のようになりますどの私は思う:あなたのAJAX呼び出しに電子成功機能を追加する必要があります(私があれば、成功応答の例を追加しました。あなたはどのような場合に使用すると、オブジェクトの配列を返す必要がありますあなたのJSONが、私はより良いあなたを助けることができるtructuredする方法を教え、そして各オブジェクトは、「ラベル」という名前のプロパティと1という名前の「値」を持つ必要があります

$("#tags").autocomplete({ 
    source: function(request, response) { 
     $.ajax({ 
      url: "/projectlist", 
      dataType: "json", 
      data: { 
       style: "full", 
       maxRows: 12, 
       term: request.term 
      }, 
      success: function(data) { 
       var results = []; 
       $.each(data, function(i, item) { 
        var itemToAdd = { 
         value: item, 
         label: item 
        }; 
        results.push(itemToAdd); 
       }); 
       return response(results); 

      } 
     }); 
    } 
}); 

私はここでフィドルを設定しました:http://jsfiddle.net/nicolapeluchetti/pRzTy/(想像すると 'data'はjsonです返される)

+0

'def project_list list = Project.all.map {| i | i.project_name} arr = [] .concat(list.sort {| a、b | [0] <=> B [0]})to_jsonを レンダリング:JSON =>私はそれは放火犯の値を返しますが、それは表示されませんポスト – David

+0

ポストARR 。 –

+0

で返されるもの end' – David

関連する問題