当前位置:首页 » 网页前端 » 动态生成表格前端
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

动态生成表格前端

发布时间: 2022-08-22 05:19:49

1. excel怎么做动态表格

方法/步骤

图中数据表列举了2013-2016年每个月的数据,我们要实现的是通过下拉菜单选择年份,在图表中自动生成对应年份的月数据图表,效果如图。

注意事项

在图表中引用名称时,名称前面一定要加上工作表名儿,如本例中的:sheet1!月份

2. 如何动态生成一个HTML的TABLE

javascript,先不讨论他是否能不能操纵数据库,你说在html代码中能看到js代码,然后看到js进行数据库操作了,然后有些人会利用这个干些什么?OK,然后俺来回答你的问题,你现在的设想,只能用ajax完成,当然很大部分也是js写的,但操作数据库部分还是要后台语言完成,而且ajax的js部分比较多,俺还是建议你去搜索一下ajax入门,这么点大地方也无法让你明白ajax怎么用的至于那个动态生成表格, var table=document.createElement("table");
table.setAttribute("border",0);
table.setAttribute("width","100%");
table.setAttribute("cellspacing",0);
table.setAttribute("cellpadding",0);
var head=table.createTHead();
var headrow=head.insertRow(0);
headrow.setAttribute("class","fixedHeaderTr");
headrow.insertCell(0).appendChild(document.createTextNode("报文编号"));
headrow.insertCell(1).appendChild(document.createTextNode("接受报文时间"));
headrow.insertCell(2).appendChild(document.createTextNode("源ID"));
headrow.insertCell(3).appendChild(document.createTextNode("目标ID"));
headrow.insertCell(4).appendChild(document.createTextNode("报文底层协议"));
headrow.insertCell(5).appendChild(document.createTextNode("报文备注信息"));

3. 用js和html动态生成n行n列表格

这是一个非常简单使用的JS在线生成表格的代码效果,通过JS功能代码,直接输入行数和列数就可以自动生成需要的表格,当然也可以扩展JS代码实现生成文字的各种形式。

<html>
<head>
<title>Js动态生成表格</title>
<styletype="text/css">
table{font-size:14px;}
</style>
</head>
<body>
<scriptlanguage="javascript">
functiontableclick(name1,name2,name3){
Trow=name1.value;
Tcol=name2.value;
Tv=name3.value;
if((Trow=="")||(Tcol=="")||(Tv=="")){
alert("请将制作表格的条件填写完整");
}
else{
r=parseInt(Trow);
c=parseInt(Tcol);
Table1(r,c,Tv);
}
}
functiontablevalue(a,ai,rows,col,str){
int1=a.length;
for(i=0;i<rows;++i){
for(j=0;j<col;++j){
if((j==0)&&(ai>=int1)){break;}
if(ai>=int1){
str=str+"<tdscope='col'></td>";
}
else{
if(j==0){
str=str+"<tr><thscope='col'>"+(a[ai++])+"</th>";
}
else{
if(j==col-1){
str=str+"<tdscope='col'>"+(a[ai++])+"</td>";
}
else{
str=str+"<tdscope='col'>"+(a[ai++])+"</td>";
}
}
}
}
str=str+"</tr>";
}
returnstr;
}
functionTable1(row,col,Str1){
varstr="";
a=newArray();
s=newString(Str1);
a=s.split("#");
int1=a.length;
ai=0;
if(col<=int1){
str=str+"<tablewidth='300'border='4'>";
for(i=0;i<col;++i){
if(i==0){
str=str+"<tr><thscope='col'>"+(a[ai++])+"</th>";
}
else{
if(i==(col-1)){
str=str+"<thscope='col'>"+(a[ai++])+"</th></tr>";
}
else{
str=str+"<thscope='col'>"+(a[ai++])+"</th>";
}
}
}
if(int1>col){
if(row>1){
str=tablevalue(a,ai,row-1,col,str);
}
}
str=str+"</table>";
aa.innerHTML=str;
}
}
</script>
<formname="form1"method="post"action="">
<p><b>行数:</b>
<inputname="name1"type="text"style="width:40px"value="4">
<b>列数:</b>
<inputname="name2"type="text"style="width:40px"value="4">
<inputtype="button"name="Submit3"value="生成表格"
onClick="tableclick(document.form1.name1,document.form1.name2,document.form1.name3)"></p>
<p><balign="top">表值:</b></p>
<p>
<inputname="name3"wrap="VIRTUAL"style="width:520px"
value="COL1#COL2#COL3#COL4#ROW1#A1#A2#a3#ROW2#B1#B2#B3#ROW3#C1#C2#C3">
</p>
</form>
<divid="aa"></div>
</body>
</html>

4. 表单输入时如何动态生成表格

你这个问题问的怪怪的,还不知你用什么语言呢?
看到你举例所使用的标签,我觉得不是ASP(VBSCRIPT),就是最简单的那种JSP(没有框架的那种)
那么,就这两种来说,代码不是很相同,但是意思都一样.
比如:你想做5行的表格,那么,就用FOR循环,让它循环5次,就可以了
标签如下:
<table>
<%
for(int i=0;i<5;i++)
{
%>
<tr>
<td>……</td>
</tr>
<%
}
%>
</table>
其中,“……”部分你要放入的控件,这样,你做一行控件就可以了,这样,就可以循环出5行控件,而取值的时候,用REQUEST.FORM("控件名");来获取,不过,这时,你获取到的是一个含有多个值的字符串,每个值之间是用“,”分割的,那么,你用split方法,把字符串分解为字符串数组,在遍历整个数组,将值存入数据库就可以了!
试试吧,这个很简单的

5. js如何实现点击编辑按钮,前端table表格行内指定td可修改。(table是动态生成的)

functionready(){varurl=base_path+"console/cfg/getBaseLayers/"+configId;$.ajax({url:url,type:"get",dataType:"json",success:function(result){//生成之前先清空tr,防止AJAX异步加载重复生成$("#lottr").remove();varlength=result.length;for(vari=0;i<length;i++){varname=result[i].name;//服务名称varalias=result[i].alias;//服务别名vartype=result[i].type;//服务类型varyear=result[i].year;//年份varurl=result[i].url;//服务地址varvisible=result[i].visible;//是否可见varid=result[i].id;//idserviceIdArray[i]=id;//此处将id塞给serviceIdArray,用于判断是否添加。varstr="";if(visible==true){//生成trstr+='<trid="';str+=id;str+='"';str+='class="lot_box"><td>';str+=i+1;str+='</td><td>';str+=name;str+='</td><td>';str+=alias;str+='</td><td>';str+=type;str+='</td><td>';str+=year;str+='</td><td>';str+=url;str+='</td><td>';str+='<inputid="';str+=id;str+='"';str+='type="checkbox"checked="true"onchange="modifyService(this.id);"/>';str+='</td><td><inputid="';str+=id;str+='"';str+='type="button"value="编辑"onclick="editTd(this.id)"/>';str+='</td><td>';str+='<buttonclass="rosy"id="';str+=id;str+='"';str+='onclick="deleteService(this.id);">';str+='<imgsrc="static/img/del14.png"></button>';str+='</td></tr>';
}else{//生成trstr+='<trid="';str+=id;str+='"';str+='class="lot_box"><td>';str+=i+1;str+='</td><td>';str+=name;str+='</td><td>';str+=alias;str+='</td><td>';str+=type;str+='</td><td>';str+=year;str+='</td><td>';str+=url;str+='</td><td>';str+='<inputid="';str+=id;str+='"';str+='type="checkbox"onchange="modifyService(this.id);"/>';str+='</td><td><inputid="';str+=id;str+='"';str+='type="button"value="编辑"onclick="editTd(this.id)"/>';str+='</td><td>';str+='<buttonclass="rosy"id="';str+=id;str+='"';str+='onclick="deleteService(this.id);">';str+='<imgsrc="static/img/del14.png"></button>';str+='</td></tr>';
}var$tr=$(str);$("#lot").append($tr);
}
}
});
}

2)

//修改table行内元素(td)functioneditTd(id){//选中编辑按钮的时候,把这行指定的几个td变成文本框varb=$("input[type='button'][id='"+id+"']").parent();//tdvara=b.siblings();//td的兄弟节点if(a[1].children.length===0){a[1].innerHTML="<inputtype='text'value='"+a[1].innerText+"'/>";
}
if(a[2].children.length===0){a[2].innerHTML="<inputtype='text'value='"+a[2].innerText+"'/>";
}
if(a[3].children.length===0){a[3].innerHTML="<inputtype='text'value='"+a[3].innerText+"'/>";
}//将编辑改成保存和取消两个按钮b[0].innerHTML="<inputid='"+id+"'type='button'onclick='saveEditTd(this.id);'value='保存'/><inputtype='button'onclick='resertEditTd();'value='取消'/>";
//以下注掉的都是在网上找的参考。/*alert(a[0].getText());var$this=$(this).index();alert($this);*//*$('input[type="button"]').on('click',function(){var$this=$(this).parent().parent();//trready();});*//*var$=function(node){returntypeofnode=="string"?document.getElementById(node):node;}var$1=function(node,parent){varnd=document.createElement(node);if(parent)parent.appendChild(nd);returnnd;}/!**绑定事件流*!/varbind=function(obj,eventName,funcionName){if(obj.addEventListener){obj.addEventListener(eventName,funcionName,false);}elseif(obj.attachEvent){obj.attachEvent("on"+eventName,funcionName);}else{obj["on"+eventName]=funcionName;}};varfulltable=function(tbody,data){varpd=data.data;varcolumn=data.column;for(vari=0,len=data.rows;i<len;i++){vartr=$1("tr",tbody);varcd=pd[i];for(varj=0,jlen=column.length;j<jlen;j++){vartd=$1("td",tr);td.innerHTML=cd[column[j]];//innerText不兼容火狐,可以自己写innerText和textContent的兼容,这里就直接用innerHTML了}}}varlittlehow_edit_table=function(tbody,ev){this.tbody=$(tbody);this.event=ev?ev:"click";//默认为单机事件this.init=function(data){//data可以是undefinedif(data){fulltable(this.tbody,data);}//调用可编辑this.edit();}this.edit=function(){vartds=this.tbody.getElementsByTagName("td");for(vari=0,len=tds.length;i<len;i++){bind(tds[i],this.event,this.click);}}this.click=function(){//alert(this.children.length);if(this.children.length>0)return;varv=this.innerHTML;this.innerHTML="";varinput=$1("input",this);input.type="text";input.value=v;input.focus();//光标聚集bind(input,"blur",blur);}varblur=function(){varv=this.value;this.parentNode.innerHTML=v;}}window.$$=function(id,ev){returnnewlittlehow_edit_table(id,ev);};*//*$('.editable').handleTable({"handleFirst":true,"cancel":"<spanclass='glyphiconglyphicon-remove'></span>","edit":"<spanclass='glyphiconglyphicon-edit'></span>","add":"<spanclass='glyphiconglyphicon-plus'></span>","save":"<spanclass='glyphiconglyphicon-saved'></span>","confirm":"<spanclass='glyphiconglyphicon-ok'></span>","operatePos":-1,"editableCols":[2,3,4],"order":["add","edit"],"saveCallback":function(data,isSuccess){//这里可以写ajax内容,用于保存编辑后的内容//data:返回的数据//isSucess:方法,用于保存数据成功后,将可编辑状态变为不可编辑状态varflag=true;//ajax请求成功(保存数据成功),才回调isSuccess函数(修改保存状态为编辑状态)if(flag){isSuccess();alert(data+"保存成功");}else{alert(data+"保存失败");}returntrue;},"addCallback":function(data,isSuccess){varflag=true;if(flag){isSuccess();alert(data+"增加成功");}else{alert(data+"增加失败");}},"delCallback":function(isSuccess){varflag=true;if(flag){isSuccess();alert("删除成功");}else{alert("删除失败");}}});*//*//dom创建文本框varinput=document.createElement("input");input.type="text";//得到当前的单元格varcurrentCell;functioneditCell(event){if(event==null){currentCell=window.event.srcElement;}else{currentCell=event.target;}//根据Dimmacro的建议修定下面的bug非常感谢if(currentCell.tagName=="TD"){//用单元格的值来填充文本框的值input.value=currentCell.innerHTML;//当文本框丢失焦点时调用lastinput.onblur=last;input.ondblclick=last;currentCell.innerHTML="";//把文本框加到当前单元格上.currentCell.appendChild(input);//根据liu_binq63的建议修定下面的bug非常感谢input.focus();}}functionlast(){//充文本框的值给当前单元格currentCell.innerHTML=input.value;}//最后为表格绑定处理方法.document.getElementById("table").ondblclick=editCell;*//*varttr=$(this).val()=="编辑"?"确定":"编辑";$(this).val(ttr);//按钮被点击后,在“编辑”和“确定”之间切换$(this).parent().siblings("td").each(function(){//获取当前行的其他单元格varobj_text=$(this).find("input:text");//判断单元格下是否有文本框if(!obj_text.length)//如果没有文本框,则添加文本框使之可以编辑$(this).html("<inputtype='text'value='"+$(this).text()+"'>");else//如果已经存在文本框,则将其显示为文本框修改的值$(this).html(obj_text.val());});*//*$('input[type="button"]').on('click',function(){var$this=$(this);var$td_arr=$this.parent().html('保存').prevAll('td');$.each($td_arr,function(){var$td=$(this);$td.html('<inputtype="text"value="'+$td.html()+'">');});});*/}

3)

//取消editTd编辑functionresertEditTd(){ready();//此方法是自己写的,局部刷新页面,重新加载数据
}

//保存editTd编辑functionsaveEditTd(id){vara=$("input[type='button'][id='"+id+"']").parent().siblings();//td的兄弟节点vartd_name=a[1].children[0].value;//服务名称vartd_alias=a[2].children[0].value;//服务别名vartd_type=a[3].children[0].value;//服务类型varurl=base_path+"console/cfg/saveEditTd";$.ajax({url:url,type:"post",data:{"td_name":td_name,"td_alias":td_alias,"td_type":td_type,"id":id,"tpl":configId},datatype:"json",success:function(result){ready();//此方法是自己写的,局部刷新页面,重新加载数据
}
});
}

6. 如何在javascript中把函数的输入内容和结果动态生成表格就是输入两个变量,点一个按钮,自动生成个表格

feipigzi的代码没有给机会输入行列数,而且使用的createElement和appendChild。我还是比较赞成使用较规范的insertRow和insertCell。


<script type="text/javascript">
window.onload = function() {
document.getElementById("add").onclick = function() {
var rows = parseInt(document.getElementById("rows").value),
cols = parseInt(document.getElementById("cols").value);
if(rows && cols) {
var table = document.createElement("table");
table.border = 1;
for(var r = 0; r < rows; r++) {
var row = table.insertRow(-1);
for(var c = 0; c < cols; c++) {
var cell = row.insertCell(-1);
cell.innerHTML = "行" + (r + 1) + "列" + (c + 1);
}
}
document.body.appendChild(table);
}
};
};
</script>


<input type="text" size="4" id="rows" value="" /> 行
<input type="text" size="4" id="cols" value="" /> 列
<input type="button" id="add" value="生成表格" />

7. 微信小程序怎么创建动态表格

今天小编和大家一起学习的是如何在微信小程序中制作动态处理表格?一定有许多朋友很是期待吧,下面就是详细的内容。

以上就是如何在微信小程序中制作动态处理表格的全部内容了

8. 关于JS动态创建表格

你这里有两个问题,一个赋值的时候不用改用innerText,二个是多余了两次嵌套循环


functionautocreate(){
//创建table表格
vartable=document.createElement("table");
table.setAttribute("border","1");
table.setAttribute("background","red");
//获取行数值
varline=document.getElementById("line").value;
//获取列数值
varlist=document.getElementById("list").value;
for(vari=0;i<=line;i++){
//alert(line);
//创建tr
vartr=document.createElement("tr");
for(varj=0;j<=list;j++){
//alert(list);
//创建td
vartd=document.createElement("td");
td.innerHtml=i+"*"+j;
tr.appendChild(td);
}
table.appendChild(tr);
}

document.getElementById("d1").appendChild(table);
}

9. 用js实现动态添加表格数据

1、在页面div中事先创建一个空白表格,可以根据需求而定。

10. html中如何使用js动态添加表格

一、动态加载表格

1.首先在html中为表格的添加位置设置id

即是在html的body标签内部写一个div标签表明表格要添加到此div的内部。如下

<div id="tdl"><div>

2.在javascript中写添加表格的语句

若在当前html文件中,则写在<script>标签内部,如

复制代码 代码如下:

<script type="text/javascript" >

document.getElementById("tbl").innerHTML="<table><tr><td></td></tr></table>" //此处添加的表格可根据自己需要创建

</script>

若是通过引入js文件,则在js文件(假设是test.js)中直接写如下语句

复制代码 代码如下:

document.getElementById("tbl").innerHTML="<table><tr><td></td></tr></table>"

然后再引入自己的html文件

复制代码 代码如下:

<script type="text/javascript" src="test.js"></script>

二、 动态添加表格行

1.首先在html中为表格行的添加位置设置id,此位置必须是<tbody>内部(不是特别准确,但根据我的测试就得到此结论,有其他的方法请留言,谢谢),如下

复制代码 代码如下:

<table>
<thead></thead>

<tfoot><tfoot> //tfoot与thead是与tbody配套使用,但我在写的时候,没用也可以。

<tbody id="rows"></tbody>

</table>
[\s\S ]*\n
2.在javascript内容中,要先创建行和单元格,再在<.tbody>中添加行,如下
[code]
row=document.createElement("tr"); //创建行

td1=document.createElement("tr"); //创建单元格

td1.appendChild(document.createTextNode("content")); //为单元格添加内容

row.appendChild(td1); //将单元格添加到行内

document.getElementById("rows").append(row); //将行添加到<tbody>中