2017-04-24 30 views
0

我想用jQuery创建动态表,它必须包含JSON对象的属性,但不能实现我的问题在哪里。我得到的是[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