JS控制网页动态生成任意行列数表格的方法
本文实例讲述了JS控制网页动态生成任意行列数表格的方法。分享给大家供大家参考。具体分析如下:
这是一个非常简单使用的JS在线生成表格的代码效果
通过JS功能代码,直接输入行数和列数就可以自动生成你需要的表格
当然你也可以扩展JS代码实现生成文字的各种形式
代码如下:
<html> <head> <title>Js动态生成表格</title> <style type="text/css"> table{font-size:14px;} </style> </head> <body > <script language="javascript"> function tableclick(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); } } function tablevalue(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+"<td scope='col'> </td>"; } else{ if (j==0){ str=str+"<tr><th scope='col'> "+(a[ai++])+"</th>"; } else{ if (j==col-1){ str=str+"<td scope='col'> "+(a[ai++])+"</td>"; } else{ str=str+"<td scope='col'> "+(a[ai++])+"</td>"; } } } } str=str+"</tr>"; } return str; } function Table1(row,col,Str1){ var str=""; a=new Array(); s=new String(Str1); a=s.split("#"); int1=a.length; ai=0; if (col<=int1){ str=str+"<table width='300' border='4'>"; for (i=0;i<col;++i){ if (i==0){ str=str+"<tr><th scope='col'> "+(a[ai++])+"</th>"; } else{ if (i==(col-1)){ str=str+"<th scope='col'> "+(a[ai++])+"</th></tr>"; } else{ str=str+"<th scope='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> <form name="form1" method="post" action=""> <p><b>行数:</b> <input name="name1" type="text" style="width:40px" value="4"> <b>列数:</b> <input name="name2" type="text" style="width:40px" value="4"> <input type="button" name="Submit3" value="生成表格" onClick="tableclick(document.form1.name1,document.form1.name2,document.form1.name3)"></p> <p><b align="top">表值:</b></p> <p> <input name="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> <div id="aa"></div> </body> </html>
希望本文所述对大家的javascript程序设计有所帮助。
相关推荐
88274956 2020-11-03
runner 2020-09-01
梦的天空 2020-08-25
移动开发与培训 2020-08-16
ReunionIsland 2020-08-16
lyqdanang 2020-08-16
MyNameIsXiaoLai 2020-07-08
星辰的笔记 2020-07-04
csstpeixun 2020-06-28
letheashura 2020-06-26
liaoxuewu 2020-06-26
sunzhihaofuture 2020-06-21
FEvivi 2020-06-16
坚持着执着 2020-06-16
waterv 2020-06-14
xiaoge00 2020-06-14
firejq 2020-06-14
firstboy0 2020-06-14
e度空间 2020-06-12
zhongweinan 2020-06-10