1

I have the data inside the javascript variable and i want to out put its' data as table. I can do that with text box. but i can't make it correctly in table.

For example table : 
user_id  |  start_time  | end_time
user_id  |  start_time  | end_time
user_id  |  start_time  | end_time

I want to make loop through with like above table. I've the data inside looping. For now i made, the result output as

user_id | user_id | user_id 
start_time | start_time | start_time
end_time | end_time | end_time

I don't want that result. Please help me. I'm noob.

Here is my javascript code.

function getdata(result){

    console.log(result);

    var obj = JSON.parse(result);
            //alert(obj.status);
            //alert(result);
             var str = "";
             var str2 = "";
            var user_id = [];
            var start_time = [];
            for (i = 0; i < obj.data.length; i++) {
               user_id[i] = obj.data[i].user_id;
               start_time[i] = obj.data[i].start_time;

               str += "<input type='text' id='txtNum"+[i]+"' value='"+user_id[i]+"' /> <br/>";

            }
            document.getElementById("admin_id").innerHTML = str;


}
Kyaw Zin Wai
  • 449
  • 5
  • 10
  • 26

1 Answers1

1

i hope this will help you out:

var data = [{ id: 1, start_time: new Date(), end_time: new Date() },{ id: 1, start_time: new Date(), end_time: new Date() },{ id: 1, start_time: new Date(), end_time: new Date() }]

var str = "";
for (var i = 0; i < data.length; i++) {
 str += "<tr>";
 str +=   "<td>"+ data[i].id +"</td>";
 str +=   "<td>"+ data[i].start_time +"</td>";
 str +=   "<td>"+ data[i].end_time +"</td>";
 str += "</tr>";
}
document.querySelector('tbody').innerHTML = str;
<table>
  <thead>
    <tr>
      <th>Id</th>
      <th>start_time</th>
      <th>end_time</th>
    </tr>
   <thead>
   <tbody>
   </tbody>
 </table>

If you feel fancy you could also use some ES6:

str = data.map(d => `
  <tr>
    <td>${d.id}</td>
    <td>${d.start_time}</td>
    <td>${d.end_time}</td>
  </tr>
`).join('');
Tienou
  • 700
  • 6
  • 17