tags:

views:

46

answers:

1

I have a list that is being returned from $.ajax function. I would like to add the returned list to a table. Below is a snippet of the code I am working with.

$(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());
}

Table

<table id = "newTable">                              
   <tr>
      <td class="date"></td>
      <td class="polNum"></td>
   </tr>
</table>
+1  A: 

Something like this should work for you:-

    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>');
    };

See http://stackoverflow.com/questions/171027/jquery-add-table-row for more information about using the '> tbody:last' jquery selector

Andy Robinson