今天遇到一個問題,如何通過JS生成表格。
解決方案如下:
//創建新表
function CreateTable() {
var table = document.getElementById('Newtb');
var NewRow = table.insertRow();
NewRow.id = createId(); //新建ID
var taskId = table.rows.length - 1;
var cell2 = NewRow.insertCell();
cell2.innerHTML = '<input type="hidden" id ="hdf+ NewRow.id + '" name ="hdf" value="' + NewRow.id + '" >'
如果需要換行,以便代碼更加清晰。采用如下方式:通過+拼接起來。
+' <div style="border: 1px solid #1862A1; margin-top: 20px">'
需要做的是在innerhtml 中,通過''將HTML內容括起來。。然后每個控件的ID和NAME不一樣,這就必須為每一個控件弄個新ID
}
//創建無重復的ID
function createId() {
return Math.round(Math.random() * 1000000);
}
2:如果我們對生成的表格不滿意,我們可以通過第一行的隱藏域來刪除它。
代碼如下:
function del(id) {
var table = document.getElementById("'Newtb'");
var flag = 0;
for (i = 0; i <= table.rows.length; i++) {
if (document.getElementsByName("hdf")[i].value == id) {
document.getElementById('<%=delTable.ClientID%>').value = document.getElementById('<%=delTable.ClientID%>').value + id + '\,';
table.deleteRow(i);
flag = i;
break;
}
}
}
這里需要創建一個delTable的隱藏域。
然后進行保存之類的。。。
后台循環添加新表通過:Literal進行展現。
使用 StringBuilder,添加數據。。
