2016-12-16 3 views
0

Я пытаюсь создать таблицу с использованием массивов для схемы программы для школы. Как сделать второй массив (num) следующим заголовком курса. Сейчас это просто укладка под ними в том же столбце ....Javascript Массивы для создания таблицы

<script> 

var titl = ["Oral Communication","Applications/Concepts","SQL Programming","HTML and Dreamweaver","Javascript","Flash","XML","Cascading Style Sheets","XSL","ASP.NET","PHP/MySQL","Windows Operating Systems","Digital Imaging with Photoshop","Web Development Internship"]; 
var num = ["ENG171","CIT110","CIT236","CMT111","CMT113","CMT115","CMT117","CMT125","CMT211-see note*","CMT215","CMT241","CIT268","VMA105","CMT299"]; 

document.write('<table>') 
document.write('<tr><th>Web Development Concentration Courses</th></tr>'); 

for (var i = 0; i < titl.length; i++) 
{ 
    document.write('<tr><td>' + titl[i] + '</td></tr>'); 
} 

for (var j = 0; j < num.length; j++) 
{ 
    document.write('<tr><td>' + num[j] + '</td></tr>'); 
} 
document.write('</table>'); 

</script> 
+0

вы имеете в виду, имеющие элементы в 'titl' в колонке 1 и элементы в' num' в колонке 2, бок о бок? –

+0

Да, точно! Спасибо! – hendro3

+0

@ hendro3 Вы хотите принять любой ответ? Вы можете сделать это, нажав кнопку рядом с ответом. Вы сможете сделать только один. –

ответ

2

Вы не можете разделить вещи, когда вы строите HTML. Также, пожалуйста, не используйте document.write, так как это опасно.

Также основным решением является объединение петель. Я делаю это путем проверки длины двух массивов быть таким же:

var titl = ["Oral Communication", "Applications/Concepts", "SQL Programming", "HTML and Dreamweaver", "Javascript", "Flash", "XML", "Cascading Style Sheets", "XSL", "ASP.NET", "PHP/MySQL", "Windows Operating Systems", "Digital Imaging with Photoshop", "Web Development Internship"]; 
 

 
var num = ["ENG171", "CIT110", "CIT236", "CMT111", "CMT113", "CMT115", "CMT117", "CMT125", "CMT211-see note*", "CMT215", "CMT241", "CIT268", "VMA105", "CMT299"]; 
 

 
var finalHTML = '<table>'; 
 
finalHTML += '<tr><th>Web Development Concentration Courses</th></tr>'; 
 

 
if (titl.length == num.length) 
 
    for (var i = 0; i < titl.length; i++) { 
 
     finalHTML += '<tr><td>' + titl[i] + '</td><td>' + num[i] + '</td></tr>'; 
 
    } 
 

 
finalHTML += '</table>'; 
 

 
document.getElementById("container").innerHTML = finalHTML;
<div id="container"></div>

Просмотр

preview

Кроме того, давая <th>colspan="2" даст вы лучшие результаты:

finalHTML += '<tr><th colspan="2">Web Development Concentration Courses</th></tr>'; 

preview

0

Объединить две петли

for (var i = 0, j= 0; i < titl.length || j < num.length; i++,j++) 
{ 
    document.write('<tr><td>' + titl[i] + '</td> <td>' + num[i] + '</td></tr>'); 

} 
+0

Вы не увеличиваете или даже не используете 'j'. –

+0

Это сработало красиво! :) – hendro3

+0

Это было ничто .... – Viney

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