Modifying html of dom element that was created after page loaded

Posted by Ben321 on Stack Overflow See other posts from Stack Overflow or by Ben321
Published on 2013-11-02T01:03:00Z Indexed on 2013/11/02 3:54 UTC
Read the original article Hit count: 128

Filed under:
|
|

I have two separate AJAX calls. One that gets a list of items from a txt file and creates an HTML table out of them and one that talks to a database to find how much each item costs and then lists this in the corresponding table cell for each item (I know this may sound like a strange approach, but it's a good option in our case...).

The issue is that the price is not getting written to the table since the table is created (or to be precise, the rows of the table are created) after the page loads. I'm not sure how to fix this.

$(document).ready(function() {
    makeItemTable();
    listPrices();
    ... 
});

function makeItemTable() {
    $.ajax({
        url: 'products.php',
        type: 'GET'
        })
    .done(function(response) {
        $('.price-table > tbody').html(response); 
        })
}

function listPrices() {
    .ajax({
        url: 'prices.php',
        type: 'GET'
}) 
    .done(function(response) {
          priceData = $.parseJSON(response);
          $('.price-table tr').each(function() {
          var item = $(this).find('td:nth-child(1)').text();
          if (priceData[item]) {
               var price = priceData[item];
               $(this).find('td:nth-child(2)').text(price);
         }       
      })
    }

© Stack Overflow or respective owner

Related posts about JavaScript

Related posts about jQuery