2015-03-29 8 views
-1

Я пытаюсь создать динамическую таблицу в js.динамическая таблица в javascript

var tableBody = document.createElement('TBODY'); 
table.appendChild(tableBody); 
    for (var i = 0; i < results.rows.length; i++) 
    { 
     var tr = document.createElement('TR'); 
     tableBody.appendChild(tr); 

     for(var j = 0; j < 7; j++) 
     { 

     var td = document.createElement('TD'); 
     td.width = '75'; 
     td.appendChild(document.createTextNode(results.rows.item(i).medicine_name)); 
     tr.appendChild(td); 
     td.appendChild(document.createTextNode(results.rows.item(i).tm_1)); 
     tr.appendChild(td); 
     td.appendChild(document.createTextNode(results.rows.item(i).tm_2)); 
     tr.appendChild(td); 
     td.appendChild(document.createTextNode(results.rows.item(i).tm_3)); 
     tr.appendChild(td); 
     td.appendChild(document.createTextNode(results.rows.item(i).dosage)); 
     tr.appendChild(td); 
     td.appendChild(document.createTextNode(results.rows.item(i).diagnosis)); 
     tr.appendChild(td); 
     td.appendChild(document.createTextNode(results.rows.item(i).instructions)); 
     tr.appendChild(td); 

     } 


    } 
     myTableDiv.appendChild(table); 

При выполнении этого кода будет создано 7 строк со всеми элементами вместе. Я хочу вставить каждый из данных в отдельные столбцы. Как мне это сделать? Я хочу, чтобы имя_даля было в одной колонке. tm_1 будет в другом и так далее.

** Строки будут определены на основе results.rows.length значения и числа столбцов 7 enter image description here

ответ

0

Всего у вас есть 7 колонок и 7 rows.So в первом текстовом узле td.appendChild(document.createTextNode(results.rows.item((i*7) + 0).medicine_name)); И во втором текстовом узле используйте td.appendChild(document.createTextNode(results.rows.item((i*7) + 1).tm_1)); и так далее ...

+0

Нет .. на самом деле количество строк меняется. У меня только семь столбцов. –

+0

Фактически вы получаете длину строк, используя 'results.rows.length'. Так в чем проблема. – htoniv

+0

Я пробовал, но его не работало. –

0
for (var i = 0; i < results.length; i++) { 
      var html = ""; 
      html += "<tr>";  
      html += "<td>" + results[i].MedicineName + "</td>"; 
      html += "<td>" + results[i].tm_1+ "</td>"; 
      html += "<td>" + results[i].tm_2+ "</td>"; 
      html += "<td>" + results[i].dosage+ "</td>"; 
      html += "<td>" + results[i].diagnosis+ "</td>"; 
      html += "<td>" + results[i].instructions+ "</td>";   
      html += "</tr>"; 
      $('#myTableDiv').append(html); 
     } 
+0

Почему вы опубликовали два ответа diff? и, кроме того, способ, которым вы дали оба ответа, не служит цели до тех пор, пока вы не объясните свой код - что он делает и какая часть кода является ключом. – exexzian

0
<script> 
    $(document).ready(function() { 
     var results = getResults(); 
     createTable(results); 

    }); 
    function createTable(results) { 
     for (var i = 0; i < results.length; i++) { 
      var html = ""; 
      html += "<tr>"; 
      html += "<td>" + results[i].MedicineName + "</td>"; 
      html += "<td>" + results[i].tm_1 + "</td>"; 
      html += "<td>" + results[i].tm_2 + "</td>"; 
      html += "<td>" + results[i].dosage + "</td>"; 
      html += "<td>" + results[i].diagnosis + "</td>"; 
      html += "<td>" + results[i].instructions + "</td>"; 
      html += "</tr>"; 
      $('#myTableDiv').append(html); 
     } 
    } 
    function getResults() { 
     var Results = new Array(0); 

     for (var j = 0; j < 4; j++) { 
      var data = new medicine; 
      data.MedicineName = "Medicine" + j; 
      data.tm_1 = "tm1" + j; 
      data.tm_2 = "tm2" + j; 
      data.dosage = "tm3" + j; 
      data.diagnosis = "tm4" + j; 
      data.instructions = "tm5" + j;   
      Results.push(data); 
     } 
     return Results; 
    }; 
    function medicine() { 
     var MedicineName = new String();  
     var tm_1 = new String(); 
     var tm_2 = new String(); 
     var dosage = new String(); 
     var diagnosis = new String(); 
     var instructions = new String(); 
    } 
</script> 
+0

Пробовал, но не работал. –

Смежные вопросы