2016-11-14 18 views
0

JSONファイルを読み込み、typeの値を取得しています。私はそれをHTML要素#myListのリストとして渡したいのですが、リストの代わりに[object object]です。しかし私のconsole.logは、私が望むものを正確に示しており、o.typeに格納されています。jqueryデータリストがhtml要素に渡されていません

$(document).ready(function() { 
    $.getJSON("data.json", function(obj) { 
     $('#myList').data('types', obj.types.map(function(o) { 
      console.log(o.type); 
      return o.type; 
     })).append('<li>' + obj + '</li>'); 
    }); 
}); 

誰かがこれを修正するのに役立つでしょうか?

+2

は、あなたが何を期待し '.append( '

  • '+ OBJ +'
  • ')'行うには?今は、文字列に 'obj'を強制しています。これは、異なる' toString'メソッドを提供しないオブジェクトでは '[object Object]'になります。 –

    答えて

    4

    [object object]を文字列に連結するオブジェクトを連結しているときに、toString(obj)の結果が[object object]であるためです。

    Array#mapメソッドを使用してHTMLコードを生成し、要素に追加します。

    $(document).ready(function() { 
        $.getJSON("data.json", function(obj) { 
         $('#myList').data('types', obj.types.map(function(o) { 
          console.log(o.type); 
          return o.type; 
         })).append(obj.types.map(function(o) { 
          return '<li>' + o.type + '</li>'; 
         }).join('')); 
        }); 
    }); 
    
    +1

    それは私にとっては良い解決策です – passion

    関連する問題