我正在尝试创建一个显示n
到n
表的表格,其中包含以下详细信息:
n
)由用户输入确定这是我到目前为止所做的:
HTML:
<body>
<form name="f">
<input type="text" value ="r" size="6" name="r">
<input type="text" value ="c" size="6" name="c">
<input type="button" value="make table" onclick="happy(r.value,c.value)">
</form>
</body>
JS:
function happy(rows, cols) {
var hcode = '';
w=window.open();
w.document.write("<table border='1'>");
for (i=0; i<=rows; i++) {
w.document.write("<td>"+i)
}
for (j=1; j<=cols; j++) {
var x = 0;
w.document.write("<tr><td>"+j);
//w.document.write("<td>"+j*x);
}
w.document.write("<tr>")
for ( x=1; x<= rows; x++) {
w.document.write("<tr>");
for ( n=1; n<= cols; n++) {
if (x %2==0 ) {
w.document.write("<td bgcolor='aquamarine'>"+x*n+"</td>");
if ( n<=cols) {
w.document.write()
}
}
else {
w.document.write("<td bgcolor='coral'>"+x*n+"</td>");
}
}
}
w.document.write('</table')
我玩过一些变化,但没有一个导致我需要的东西。欢迎任何和所有建议!谢谢!
答案 0 :(得分:0)
我试图了解需要。
http://jsfiddle.net/OxyDesign/kb294v6a/
这是你想要的吗?
JS(使用jQuery)
$(document).ready(function(){
makeTable();
$('form').on('submit',function(e){
e.preventDefault();
makeTable();
});
});
function makeTable(){
var rows = parseInt($('input[name=r]').val()),
col = parseInt($('input[name=c]').val());
if(typeof rows === 'number' && rows > 0 && typeof col === 'number' && col > 0){
var table = '<table>';
for(var i = 1; i <= rows; i++){
table += '<tr>';
for(var j = 1; j <= col; j++){
table += '<td>'+i*j+'</td>';
}
table += '</tr>';
}
table += '</table>';
$('#table').html(table);
}
}
答案 1 :(得分:0)
如果您只是在寻找一个基本的乘法表,您可以在其中设置每一行的样式,这应该可以完成这项工作:
function multiplicationTable(x, y){
var Y = typeof y === 'number' ? y : x;
var table = '<table><tbody>';
for(var i=0,l=Y+1; i<l, i++){
table += i%2 === 0 ? "<tr class='odd'>" : "<tr class='even'>";
table += '<th>'+i+'</th>';
for(var n=1,c=x+1; n<c; n++){
if(i === 0){
table += '<th>'+n+'</th>';
}
else{
table += '<td>'+i*n+'</td>';
}
}
table += '</tr>';
}
return table + '</tbody></table>';
}
document.getElementById('id').innerHTML = multiplicationTable(12);
console.log(multiplicationTable(15, 25));