2017-04-24 14 views
0

JSONオブジェクトプロパティを含む必要があるjQueryで動的なテーブルを作成しようとしていますが、どこに問題があるか分かりません。私が得るものは[object Object]です。console.log(data[i].title)と言えば、それは私に正しい出力を与えています。あなたは見て、私にいくつかのアドバイスを与えることができますか?ありがとうjQueryダイナミックテーブルを表示できません

$.ajax({ 
    type : 'GET', 
    url : '../post/search-tag?tag='+input, 
    dataType : 'json', 
    success : function(data){ 
     if(data.length == 0){ 
      alert('No posts found!'); 
     }else{ 
      $('#posts').css('display', 'none'); 
      $('.list-view').css('display', 'initial'); 
      var table = document.createElement('table'); 
      var thead = document.createElement('tr'); 
      table.append(thead); 

      var title = document.createElement('td'); 
      var textTitle = document.createTextNode('Title'); 
      title.append(textTitle); 

      var content = document.createElement('td'); 
      var textContent = document.createTextNode('Content'); 
      content.append(textContent); 

      var date = document.createElement('td'); 
      var textDate = document.createTextNode('Create Date'); 
      date.append(textDate); 

      thead.append(title); 
      thead.append(content); 
      thead.append(date); 

      for(var i=0; i < data.length; i++){ 
       var aTitle = $('<a>', { 
        value : data[i].title, 
        href : '../post/view?id=' + data[i].post_id 
       }); 
       var aContent = $('<a>', { 
        value : data[i].content, 
        href : '../post/view?id=' + data[i].post_id 
       }); 
       var aDateCreate = $('<a>', { 
        value : data[i].date_create, 
        href : '../post/view?id=' + data[i].post_id 
       }); 

       var tr = document.createElement('tr'); 

       tr.append($('<td>', {}).append(aTitle)); 

       tr.append($('<td>', {}).append(aContent)); 

       tr.append($('<td>', {}).append(aDateCreate)); 

       table.append(tr); 
      } 

      $('.list-view').prepend(table); 
      $('.list-view').find('table').addClass('table customize'); 
     } 
    } 
}); 

JSON object in the console output

+0

あなたのJSONの出力を共有! – funcoding

+0

イメージを編集しました。それはあなたが必要とするものですか? –

+0

これは問題ありません!あなたはあなたのAjaxを呼び出す方法を分かち合うことができますか? – funcoding

答えて

1

あなたは、あなたのHREFオブジェクトにテキストプロパティを含めるのを忘れて!(私も、テキストの代わりに、値を試してみました。):(あなたが持っているすべてのHREFタグに追加)

また

var aTitle = $('<a>', { 
      value : data[i].title, 
      text : 'Something', 
      href : '../post/view?id=' + data[i].post_id 
}); 
:jqueryのを使用する場合に一貫性がある:(あなたが取得している理由です[オブジェクトのオブジェクト]、[オブジェクトのオブジェクト]、[オブジェクトのオブジェクト])

変更この行:

var tr = document.createElement('tr'); 

へ: var tr = $('<tr>');

+0

ありがとう!問題は本当に一貫していた:) –

+1

私は助けることができてうれしい! – funcoding

関連する問題