导航:首页 > 编程语言 > js动态table

js动态table

发布时间:2023-01-16 17:47:49

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

(4)js动态table扩展阅读:

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();

}

}

阅读全文

与js动态table相关的资料

热点内容
每份文件的审批需要提交哪些材料 浏览:945
无法更改苹果id账号和密码 浏览:631
安卓60lbe安全大师 浏览:90
湖北省事业单位领导配置文件 浏览:608
app倒计时任务视频怎么跳过 浏览:531
建设监理投标文件应注意哪些事情 浏览:660
电商有效网站是指什么 浏览:805
如何导入新的数据源 浏览:622
探月少儿编程如何禁止旋转 浏览:524
数据运营模板是什么意思 浏览:440
win10fax程序下载 浏览:527
找同款app有哪些 浏览:147
linux读取文件整个过程 浏览:577
百信集团的网站叫什么名字 浏览:67
开发解压app理念是什么 浏览:128
linux源代码路径 浏览:854
美图2root后不能升级了 浏览:133
shell文件size 浏览:350
通过大数据查干部哪些内容 浏览:78
如何编程输出一个数的十位数 浏览:760

友情链接