帶有幾個嵌套循環的JQuery應該很容易做到這一點。您可以使用字符串生成器或其他東西來優化它,但基本知識非常清晰。如果你正在做一些更復雜的事情,你可能會更適合查看JQuery或MS AJAX的模板引擎之一:
<script type="text/javascript">
$(function() {
$('INPUT, SELECT').change(function() {
var rows = parseInt($('#rows').get(0).value);
var cols = parseInt($('#cols').get(0).value);
if (isNaN(rows) || isNaN(cols)) {
return;
}
var shape = $('#shape').get(0).value;
drawTable(rows, cols, shape);
});
});
function drawTable(rows, cols, shape) {
$('#results').empty().append("<table></table>");
var table = $('#results > TABLE');
for (var row = 0; row < rows; row++) {
var htmlRow;
htmlRow = '<tr>';
for (var col = 0; col < cols; col++) {
htmlRow += '<td><img src="' + shape + '.gif" alt="' + shape + '" /></td>';
}
htmlRow += "</tr>";
table.append(htmlRow);
}
}
</script>
Columns: <input id="cols" type="text" /> <br />
Rows: <input id="rows" type="text" /> <br />
Shape:
<select id="shape">
<option value="square">Square</option>
<option value="circle">Circle</option>
</select>
<div id="results">
</div>
用戶可以改變列數/行數嗎?如果是這樣,這是多一點涉及(仍然可行) – scunliffe 2009-04-27 20:12:35
是的,用戶可以隨時更改列數,行數和選定的形狀。預計該表將相應地進行調整。 – cookbr 2009-04-27 20:35:17