2010-08-10 7 views
0

J'ai une liste renvoyée par la fonction $ .ajax. Je voudrais ajouter la liste retournée à une table. Voici un extrait du code avec lequel je travaille.Comment ajouter une liste dans une table jquery?

$(document).ready(function() { 
$.ajax({ 
    type: "POST", 
    url: "Home/LoadTable", 
    success: function(data) { 
     var loopList = data.message.NewList; 
     alert(loopList); 
     //tried the following :(
     //loopList.each(function(i) { 
     // addRecentData(i); 
     //}); 
    }, 
    error: function() { 
     alert("ERROR"); 
    } 
}); 
}); 

function addRecentData(data) { 
$('#newTable tr:last').after('<tr><td class="date"></td><td class="name"></td></tr>'); 

var $tr = $('#newTable tr:last'); 
$tr.find('.date').html(data.message); 
$tr.find('.name').html(data.message.NewList[0].Name.toString()); 
} 

Tableau

<table id = "newTable">        
    <tr> 
     <td class="date"></td> 
     <td class="polNum"></td> 
    </tr> 
</table> 
+0

À quoi ressemble votre JSON? –

+0

J'ai le JSON qui revient avec une liste (NewList). Le message d'alerte indique qu'un objet existe, avec des virgules séparant les objets de la liste ([Objet objet], [Objet objet] ...). $ tr.find ('. name'). html (data.message.NewList [0] .Name.toString()); affiche également le prénom dans la liste – MrM

+0

@ user54197 - Qu'en est-il de la date? Il n'est pas clair pour votre tentative où la propriété date se trouve sur l'objet json –

Répondre

1

Quelque chose comme cela devrait fonctionner pour vous: -

for (i = 0; i <= data.message.NewList.length - 1; i++) { 
     $('#newTable > tbody:last').after('<tr><td class="date">' + data.message.NewList[i].Date + '</td><td class="name">' + data.message.NewList[i].Name.toString() + '</td></tr>'); 
    }; 

Voir Add table row in jQuery pour plus d'informations sur l'utilisation du '> tbody: dernier' sélecteur jquery

Questions connexes