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