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

用js和html动态生成n行n列表格,第1张

这是一个非常简单使用的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=0i<rows++i){

 for (j=0j<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=0i<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>

可以这么写:

<table border = 1 width = 500>

<tr>

<td rowspan = 7 align = "center">omc12</td>

<td>zbcx1 </td>

<td>5</td>

<td>2013/9/7 0:00</td>

</tr>

<tr>

<td>zbcx1 </td>

<td>4</td>

<td>2013/9/7 0:00</td>

</tr>

<tr>

<td>zbcx1 </td>

<td>6</td>

<td>2013/9/7 0:00</td>

</tr>

<tr>

<td>zbcx1 </td>

<td>8</td>

<td>2013/9/7 0:00</td>

</tr>

<tr>

<td>zbcx1 </td>

<td>3</td>

<td>2013/9/7 0:00</td>

</tr>

<tr>

<td>zbcx1 </td>

<td>2</td>

<td>2013/9/7 0:00</td>

</tr>

<tr>

<td>zbcx1 </td>

<td>1</td>

<td>2013/9/7 0:00</td>

</tr>

<tr>

<td rowspan = 5 align = "center">omc13</td>

<td>zbcx1 </td>

<td>5</td>

<td>2013/9/7 0:00</td>

</tr>

<tr>

<td>zbcx1 </td>

<td>5</td>

<td>2013/9/7 0:00</td>

</tr>

<tr>

<td>zbcx1 </td>

<td>5</td>

<td>2013/9/7 0:00</td>

</tr>

<tr>

<td>zbcx1 </td>

<td>5</td>

<td>2013/9/7 0:00</td>

</tr>

<tr>

<td>zbcx1 </td>

<td>5</td>

<td>2013/9/7 0:00</td>

</tr>

</table>

HTML表格一次生成一列的方法:

HTML里面加了一个样式属性:word-break: break-all,可以实现表格的自动生成,具体参考代码如下:

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=utf-8" />

<title>table内的td内容不换行</title>

<style type="text/css">

<!--

body{ font-size:12px}

.breakLine{word-break: break-all}

-->

</style>

</head>

<body>

<table width="400">

<tr>

<td width="90" height="30">处理人工号:</td>

<td width="410" class="breakLine">001156,001157,001145,001149,001178,001123,001140,001167,001168,001134,001135</td>

</tr>

</table>

</body>

</html>

word-break属性简单介绍如下:

语法:word-break : normal | break-all | keep-all


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7297616.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存