little_code
little_code

Reputation: 216

Table data not inserted to my table from my JavaScript Code

I am very new to JavaScript. I am trying to insert someObject data to my table using Javascript. But unfortunately, my code is not working. I am unclear where I am going wrong. Please find my code below. Any help will be really helpful for me.

  function myFunction(){
  var data = '{ "name":"John", "age":30, "city":"New York"}'
  var obj = JSON.parse(data);
  var toSHow = document.getElementById("datum");//my table ID is datum
var empData = "";
  for(var i=0; i<obj.length; i++)
    empData += '<tr>';
    empData += '<td>'+data.name+'</td>';
    empData += '<td>'+data.age+'</td>';
    empData += '<td>'+data.city+'</td>';
    empData += '</tr>';
  }

}
toSHow.append(empData);
</script>


Upvotes: 0

Views: 49

Answers (3)

Marvin Fischer
Marvin Fischer

Reputation: 2572

I have adjusted your code a bit and commented on it:

function myFunction(){
    var data = '[{"name":"John", "age":30, "city":"New York"}, {"name":"Doe", "age":25, "city":"LA"}]' // Converted to array and added second element for example
    var obj = JSON.parse(data);
    var toSHow = document.getElementById("datum");//my table ID is datum

    for(var i=0; i < obj.length; i++) {
        // Reset empData every loop
        var empData = "";

        // Create new element to attach instead of adding plain text
        var newTr = document.createElement('tr');

        // Get data from object by index
        empData += '<td>'+obj[i].name+'</td>';
        empData += '<td>'+obj[i].age+'</td>';
        empData += '<td>'+obj[i].city+'</td>';

        // Set table data
        newTr.innerHTML = empData;

        // Append row every loop
        toSHow.append(newTr);

    }
}

Upvotes: 1

P Varga
P Varga

Reputation: 20229

The variable empData is defined in myFunction, and is undefined outside it.

Upvotes: 0

Sunjith
Sunjith

Reputation: 76

I guess instead of data.name,age & city you may have to use obj.name,obj.age & obj.city

Upvotes: 1

Related Questions