1. 用js怎么来生成一个二维表格
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
table{
margin:0;
padding:0;
border: 0 none;
}
td{
width:20px;
height:20px;
border:1px solid #CCC;
}
</style>
</head>
<body>
<table id="table"></table>
<script>
(function(){
var str="";
for(var c=0;c<5;c++){
str+='<tr>'
for(var r=0;r<5;r++){
str+='<td>'+((c*5+r)>9?(c*5+r):"0"+(c*5+r))+'</td>'
}
str+='</tr>'
}
var o_table=document.getElementById("table");
o_table.innerHTML=str;
})()
</script>
</body>
</html>
2. 怎么用js做一个表格
1.在页面div中创建一个空白表,可以根据需要对其进行定制。
3. 只用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>
4. js中表格内容排序
tr[b].cells[c].innerHTML=td[b].parentNode.cells[c].innerHTML
这一段代码他是使用的html对象。当循环后会出现某些td的parent对象已经被更改了,因此会出现这种情况。
建议将排序后的数组的innerHTML存放到临时变量里面,再进行循环对td、tr赋值即可。
下面是js代码。赶紧给分吧,呵呵
<script language="javascript">
var tr=new Array();//表格中所有行的集合
var td=new Array();//表格中指定列的集会
var a
function px_zm(){ //按某列的值进行行的排序
var tbody=$("tbody");
for(var i=0;i<tbody.rows.length;i++)
{
tr[i]=tbody.rows[i];
td[i]=tr[i].cells[];
}
for(var i=0;i<td.length; i++)
{
for(j=i;j<td.length;j++)
{
if(td[i].innerHTML<td[j].innerHTML)
{
a=td[i];
td[i]=td[j];
td[j]=a;
}
}
}
var trTempArray = new Array();
for(var b=0;b<4;b++){
var tdTempArray = new Array();
for(var c=0;c<4;c++){
// 将一行的td内容保存到tdTempArray当中。
tdTempArray[c] = td[b].parentNode.cells[c].innerHTML;
}
// 将一行内容保存到trTempArray。
trTempArray[b] = tdTempArray;
}
// 循环对表格内容重新赋值
for(var b=0;b<4;b++)
{
for(var c=0;c<4;c++){
tr[b].cells[c].innerHTML=trTempArray[b][c];
}
}
}
function $(id){
return document.getElementById(id);
}
</script>
5. js怎么获取整个表格的数据
1、JS获取表格的简便方法:获取tbody:tBodies 获取thead:tHead 获取tfoot:tFoot 获取行tr:rows 获取列td:cells
使用实例: oTable.tBodies[0] oTable.tHead[0] oTable.tFoot[0] oTable.rows[1] oTable.cells[1]
2、遍历
var oTable=document.getElementById("表格id");
oTable.tBodies[0]可以看成是rows和cells组成的二维数组,用两个for循环嵌套遍历一下就可以了
6. js遍历复杂表格
jQuery:
var data = new Array();
$("table td").each(function() {
if ($(this).attr("rowspan") && $(this).attr("colspan")) {
data.push($(this).text());
}
});
alert(data);
js:
var data = new Array();
var table = document.getElementsByTagName("table")[0];
var td = table.getElementsByTagName("td");
for (var i = 0; i < td.length; i++) {
if (td[i].getAttribute("rowspan") && td[i].getAttribute("colspan")) {
data.push(td[i].innerHTML);
}
alert(data);
jquery和js的方法我都写了,在网吧写的,没有编辑器,不好测试,你试试看
}
7. 请高手解答:如何用JS实现Table单元格的合并与拆分。求解答
上了那个站点。但没找到你说的例子。
To51windows(海娃)、inelm(木野狐):
你们的例子都满足不了我的要求。
那个在线编辑器还可以,但操作不方便。而且没代码。另外在拆分单元格时有Bug.
Toawaysrain(绝对零度):
你提供的代码正是我梦寐以求的。在简单方正的表格中进行测试完全没有问题。
但遗憾的是,在存在复杂的colSpan及rowSpan的表格中进行测试。该算法无法完成跨行的合并。
在完成跨列的单元格合并后,也未对影响范围内的其它单元格的rowSpan进行处理,这导致多次合并操作后表格错乱。
我自己的算法与该算法存在差不多相同的问题。
请各位大虾再提供些参考。感激不尽啊!
8. 如何用js循环函数做出1列多行的表格
可以对行进行循环取值操作。
不管表格有多少行多少列,都可以对行和列进行循环,取出列的值。