Ⅰ js動態創建Table,Tr,Td並賦值的具體實現
成果庫修改 要求主題列表隨成果類型改變而改變 網上查詢資料後開工 在成果類型下拉框添加change()事件觸發Dwr 查詢主題集合——動態創建/編輯Table 概要代碼如下 JS
復制代碼 代碼如下: //動態獲取主題數據 function getzts(){ parentId = document getElementById("bselect ") value; if(parentId!=""){ dwrMethod getZtList(parentId callback ); }else{ //清空主題Table的數據 var t=document getElementById("zhutiTable"); //獲取Table var length= t rows length; //獲得Table下的行數 if(length!= ){ //如果有行 則清空 for(var i=length ;i>= ;i ) { t deleteRow(i); } } var r = t insertRow(); var c = r insertCell(); c innerHTML="暫無主題列表"; document getElementById( zhutiTable ) appendChild(t); } } function callback (provinces){ var t=document getElementById("zhutiTable"); //獲取Table var length= t rows length; //獲得Table下的行數 if(length!= ){ //如果有行 則清空 for(var i=length ;i>= ;i ) { t deleteRow(i); } } if(provinces length> ){ for (var i = ; i < provinces length; i++) { //tr if(i% == ){ var r = t insertRow(t rows length);//創建新的行 } //td var c = r insertCell(); //創建新的列 c innerHTML = "<input type= checkbox name= zhutiIds value="+provinces[i][ ]+">"+provinces[i][ ]; } }else{ var r = t insertRow(); var c = r insertCell(); c innerHTML="暫無主題列表"; } document getElementById( zhutiTable ) appendChild(t); }復制代碼 代碼如下: lishixin/Article/program/java/JSP/201311/19848
Ⅱ js如何實現點擊編輯按鈕,前端table表格行內指定td可修改。(table是動態生成的)
給你一個思路,你的table是動態生成的,應該是利用js載入對應的json或者xml等數據結合table、版tr、td的樣式生成的。然權後前台可以載入到span或者div裡面來展示。
這樣你可以嘗試一下,點擊編輯button後click的事件,嘗試重新生成一個table,對應的td的內容修改一下:
<td><input type="text" id="tix" value="(data)"/></td>
按照這個思路應該能實現你的功能。
Ⅲ 用js實現動態添加表格數據
<tablewidth="600"border="1"cellspacing="0">
<thead>
<tr>
<th>編號</th>
<th>姓名</th>
<th>職位</th>
<th>操作</th>
</tr>
</thead>
<tbodyid="tbMain"></tbody>
</table>
<scripttype="text/javascript">
//模擬一段JSON數據,實際要從資料庫中讀取
varper=[
{id:001,name:'張珊',job:'學生'},
{id:002,name:'李斯',job:'教師'},
{id:003,name:'王武',job:'經理'}
];
window.onload=function(){
vartbody=document.getElementById('tbMain');
for(vari=0;i<per.length;i++){//遍歷一下json數據
vartrow=getDataRow(per[i]);//定義一個方法,返回tr數據
tbody.appendChild(trow);
}
}
functiongetDataRow(h){
varrow=document.createElement('tr');//創建行
varidCell=document.createElement('td');//創建第一列id
idCell.innerHTML=h.id;//填充數據
row.appendChild(idCell);//加入行,下面類似
varnameCell=document.createElement('td');//創建第二列name
nameCell.innerHTML=h.name;
row.appendChild(nameCell);
varjobCell=document.createElement('td');//創建第三列job
jobCell.innerHTML=h.job;
row.appendChild(jobCell);
//到這里,json中的數據已經添加到表格中,下面為每行末尾添加刪除按鈕
vardelCell=document.createElement('td');//創建第四列,操作列
row.appendChild(delCell);
varbtnDel=document.createElement('input');//創建一個input控制項
btnDel.setAttribute('type','button');//type="button"
btnDel.setAttribute('value','刪除');
//刪除操作
btnDel.οnclick=function(){
if(confirm("確定刪除這一行嘛?")){
//找到按鈕所在行的節點,然後刪掉這一行
this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode);
//btnDel-td-tr-tbody-刪除(tr)
//刷新網頁還原。實際操作中,還要刪除資料庫中數據,實現真正刪除
}
}
delCell.appendChild(btnDel);//把刪除按鈕加入td,別忘了
returnrow;//返回tr數據
}
</script>
(3)js動態table擴展閱讀
js動態創建表格
vartab=document.createElement("table");
tab.border="1px";
document.body.appendChild(tab);
for(vari=0;i<3;i++){
vartr=document.createElement("tr");
for(varj=0;j<3;j++){
vartd=document.createElement("td");
td.innerHTML=Math.round(Math.random()*9);
tr.appendChild(td);
}
tab.appendChild(tr);
vardel=document.createElement("td");
del.innerHTML="刪除";
tr.appendChild(del);
del.onclick=function(){
this.parentNode.remove();
}
}
Ⅳ 只用js如何實現表格內容的動態修改
<body>
<tableid='test'>//定義一個table
<tr>
<td></td><td></td>
</tr>
</table>
<script>
vartb=document.getElementById('test');//獲取表格的dom節點
vartd=tb.rows[0].cells[0];//獲取0行0列的td單元格
td.innerHTML='222';//動態修改表格的內容為222
</script>
</body>
思路:
1、獲取表格的dom節點
2、通過rows和cells定位td單元格
3、通過修改innerHTML
JS實現動態表格的新增,修改,刪除操作
一、相關JS函數
function setParamslist() {
var tab = document.getElementById("tab");
//表格行數
var rows = tab.rows.length ;
//表格列數
var cells = tab.rows.item(0).cells.length ;
//alert("行數"+rows+"列數"+cells);
var rowData = "";
for(var i=1;i<rows;i++) {
var cellsData = new Array();
for(var j=0;j<cells-1;j++) {
cellsData.push(tab.rows[i].cells[j].innerText);
}
rowData = rowData + "|" + cellsData;
}
document.getElementById("paramslist").value = rowData;
}
//打開相關新增應用參數界面
function openAppParamsPage() {
var param = new Object();
//這個參數一定要傳。
param.win = window;
param.id = 100;
param.name = "test";
param.birthday = new Date();
var result = window.showModalDialog("addParamsItem","dialogWidth:500px;dialogHeight:600px;dialogLeft:200px;dialogTop=200px");
//var temp = document.getElementById("paramslist").value;
//document.getElementById("paramslist").value = temp + result;
addSort(result);
}
// 增加應用參數函數
function addSort(data) {
var name = data;
if(name == ""||name==undefined ) {
return;
}
console.log(data);
var params = data.split(",");
var paramName = params[0];
var paramCode = params[1];
var paramValue = params[2];
var row = document.createElement("tr");
row.setAttribute("id", paramCode);
var cell = document.createElement("td");
cell.appendChild(document.createTextNode(paramName));
row.appendChild(cell);
cell = document.createElement("td");
cell.appendChild(document.createTextNode(paramCode));
row.appendChild(cell);
cell = document.createElement("td");
cell.appendChild(document.createTextNode(paramValue));
row.appendChild(cell);
var deleteButton = document.createElement("input");
deleteButton.setAttribute("type", "button");
deleteButton.setAttribute("value", "刪除");
deleteButton.onclick = function () { deleteSort(paramCode); };
cell = document.createElement("td");
cell.appendChild(deleteButton);
row.appendChild(cell);
document.getElementById("sortList").appendChild(row);
}
// 刪除應用參數函數
function deleteSort(id) {
if (id!=null){
var rowToDelete = document.getElementById(id);
var sortList = document.getElementById("sortList");
sortList.removeChild(rowToDelete);
}
}
二、彈出框頁面,新增或者修改參數,並回寫相關數據。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>新增應用</title>
<#include "/views/head.html"/>
</head>
<body>
<div class="body-box">
<div class="clear"></div>
<form >
<table width="100%" cellspacing="1" cellpadding="2" border="0"class="pn-ftable">
<tr>
<td>參數名稱:</td>
<td class="pn-fcontent"><input type="text" maxlength="20" class="" required="true" id="paramName" name="paramName"/></td>
</tr>
<tr>
<td>參數編碼:</td>
<td class="pn-fcontent"><input type="text" maxlength="20" class="" required="true" id="paramCode" name="paramCode" required="true" /></td>
</tr>
<tr>
<td>參數值:</td>
<td class="pn-fcontent"><input type="text" maxlength="20" class="" required="true" id="paramValue" name="paramValue" required="true" /></td>
</tr>
<tr>
<td align="center" colspan="4">
<input type="submit" value="保存" onclick="returnResult();"/>
<input type="button" value="返回" onclick="closeWindow();"/>
</td>
</tr>
</table>
</form>
</div>
</body>
</html>
<script type="text/javascript">
//直接關閉窗口
function closeWindow() {
window.close();
}
//獲取值,組裝後返回
function returnResult() {
if(!$('form').valid())
return;
var paramName = document.getElementById("paramName");
var paramCode = document.getElementById("paramCode");
var paramValue = document.getElementById("paramValue");
//alert("value is " + paramName.value + "," + paramCode.value + "," + paramValue.value);
var result = paramName.value + "," + paramCode.value + "," + paramValue.value;
window.returnValue = result;
window.close();
}
</script>
Ⅳ js 根據Json數據的父子關系動態生成table 如圖
我就問一句,你的json數據還會變化不?
如果不會,就傻傻地把 nodes數組裡面的數據插到table里去。內
如果變化的話容,你這樣的json數據結構真是不好,不容易自動化,重寫一個json也比照著這樣結構要省時間。比如:
varnodes=[
{
id:1,
name:"file",
son:{
id:2,name:"file1",.....
},
.....
},
{
id:1,
name:"file",
son:{
id:2,name:"file1",.....
},
}
]
像這樣的結構,解析起來要容易得多。要是能改json,我再寫代碼。
Ⅵ js動態生成的table如何進行遍歷
從table的父元素開始綁定,比如
<div id="parentOfTable">
<table>
<tr><td><a>a</a></td></tr>
<tr><td><a>b</a></td></tr>
<table>
</div>
==============
var trs=$("#parentOfTable a");
Ⅶ extjs中js怎麼向jsp頁面中動態添加一個7列6行的table
此問題 百分之百是因為你js代碼中 格式 有多餘的逗號
火狐對此不敏感而IE對此敏感。 如果你在myEclipse中安裝了最新的spket插件(專門編輯Ext的)的,編譯都會報錯的。(之前舊版本都沒有的)
如 正確的是{params:'qwe',
id:123
}
而錯誤是
{params:'qwe',
id:123,
}
Ⅷ 如何用JS動態生成table標簽寫入到頁面的DIV里
JS 語法向中添加元素用innerHTML,下面是示例代碼,供參考:
<script>
var div1 = document.getElementById('DIV1');
var code = '<TABLE>';
code += '<TR><TH>姓名</TH><TH>性別</TH></TR>';
code += '<TR><TD>張三</TD><TD>男</TD></TR>';
code += '<TR><TD>李三</TD><TD>女</TD></TR>';
code += '<TR><TD>王三</TD><TD>男</TD></TR>';
code += '<TR><TD>趙三</TD><TD>男</TD></TR>';
div1.innerHTML = code + '</TABLE>';
</script>
<body>
<div id='div1'></div>
</body>
但通常來說,開發者習慣動態的去添加行而非動態生成表格,因為表頭基本都是固定的,每次都刷影響效率,故代碼如下:
<script>
var div1 = document.getElementById('tb1');
var code = '';
code += '<TR><TD>張三</TD><TD>男</TD></TR>';
code += '<TR><TD>李三</TD><TD>女</TD></TR>';
code += '<TR><TD>王三</TD><TD>男</TD></TR>';
code += '<TR><TD>趙三</TD><TD>男</TD></TR>';
div1.innerHTML = code;
</script>
<body>
<div>
<table>
<THEAD><TR><TH>姓名</TH><TH>性別</TH></TR></THEAD>
<TBODY id='tb1'></TBODY>
</table>
</div>
</body>
Ⅸ js動態給table添加內容並顯示
給你思抄路,table的tr就是你要插入襲的內容,td就是值,點擊的時候獲取上面的值,分別放入td中,就可以最後用table對象append就可以了,至於tr對象你可以自己寫一個html模板,或者用插件模板都可以比如jquerytemplate插件。
Ⅹ 用js實現動態添加表格數據
<tablewidth="600"border="1"cellspacing="0">
<thead>
<tr>
<th>編號</th>
<th>姓名</th>
<th>職位</th>
<th>操作</th>
</tr>
</thead>
<tbodyid="tbMain"></tbody>
</table>
<scripttype="text/javascript">
//模擬一段JSON數據,實際要從資料庫中讀取
varper=[
{id:001,name:'張珊',job:'學生'},
{id:002,name:'李斯',job:'教師'},
{id:003,name:'王武',job:'經理'}
];
window.onload=function(){
vartbody=document.getElementById('tbMain');
for(vari=0;i<per.length;i++){//遍歷一下json數據
vartrow=getDataRow(per[i]);//定義一個方法,返回tr數據
tbody.appendChild(trow);
}
}
functiongetDataRow(h){
varrow=document.createElement('tr');//創建行
varidCell=document.createElement('td');//創建第一列id
idCell.innerHTML=h.id;//填充數據
row.appendChild(idCell);//加入行,下面類似
varnameCell=document.createElement('td');//創建第二列name
nameCell.innerHTML=h.name;
row.appendChild(nameCell);
varjobCell=document.createElement('td');//創建第三列job
jobCell.innerHTML=h.job;
row.appendChild(jobCell);
//到這里,json中的數據已經添加到表格中,下面為每行末尾添加刪除按鈕
vardelCell=document.createElement('td');//創建第四列,操作列
row.appendChild(delCell);
varbtnDel=document.createElement('input');//創建一個input控制項
btnDel.setAttribute('type','button');//type="button"
btnDel.setAttribute('value','刪除');
//刪除操作
btnDel.οnclick=function(){
if(confirm("確定刪除這一行嘛?")){
//找到按鈕所在行的節點,然後刪掉這一行
this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode);
//btnDel-td-tr-tbody-刪除(tr)
//刷新網頁還原。實際操作中,還要刪除資料庫中數據,實現真正刪除
}
}
delCell.appendChild(btnDel);//把刪除按鈕加入td,別忘了
returnrow;//返回tr數據
}
</script>
(10)js動態table擴展閱讀
js動態創建表格
vartab=document.createElement("table");
tab.border="1px";
document.body.appendChild(tab);
for(vari=0;i<3;i++){
vartr=document.createElement("tr");
for(varj=0;j<3;j++){
vartd=document.createElement("td");
td.innerHTML=Math.round(Math.random()*9);
tr.appendChild(td);
}
tab.appendChild(tr);
vardel=document.createElement("td");
del.innerHTML="刪除";
tr.appendChild(del);
del.onclick=function(){
this.parentNode.remove();
}
}