<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>增加Table行</title>
</head>
<script>
function addRow(tabId)
{
var tab = document.getElementById(tabId);
//添加一行
var colCount = getColCount(tabId);
var rowCount = getRowCount(tabId);
var newTr = tab.insertRow();
if(0 == rowCount)
{
colCount = 1;
}
for(var i = 0; i < colCount; ++i)
{
var tmp = newTr.insertCell();
tmp.innerHTML = '<input type=text value="">';
}
}
function addCell(tabId)
{
var tab = document.getElementById(tabId);
var rowCount = getRowCount(tabId);
for(var i = 0; i < rowCount;++i)
{
var tmp = tab.rows.item(i).insertCell();
tmp.innerHTML = '<input type=text value="">';
}
}
function delRow(tabId)
{
var rowCount = getRowCount(tabId);
if(rowCount <= 0)
{
return;
}
var tab = document.getElementById(tabId);
tab.deleteRow(rowCount - 1);
}
function delCell(tabId)
{
var tab = document.getElementById(tabId);
var rowCount = getRowCount(tabId);
if(rowCount > 0)
{
var colCount = getColCount(tabId);
if(1 >= colCount)
{
clearTable(tabId);
}
else
{
for ( var i = 0; i < tab.rows.length; i++)
{
tab.rows[i].deleteCell(colCount - 1);
}
}
}
}
function clearTable(tabId)
{
var tab = document.getElementById(tabId);
while(tab.hasChildNodes()){
tab.removeChild(tab.lastChild);
}
}
function getRowCount(tabId)
{
var tab = document.getElementById(tabId) ;
//表格行数
var rows = 0;
if(null != tab.rows)
{
rows = tab.rows.length ;
}
else
{
alert("no rows");
rows = 0;
}
return rows
}
function getColCount(tabId)
{
var tab = document.getElementById(tabId) ;
var cells = 0;
if(null != tab.rows && tab.rows.length > 0)
{
cells = tab.rows.item(0).cells.length;
}
return cells;
}
/*
* 提取一个表单的数据
*/
function formatTableData(tableId ) {
var ret = "";
var t3 = document.getElementById(tableId);
for ( var i = 0; i < t3.rows.length; i++) {
for ( var j = 0; j < t3.rows[i].cells.length; j++) {
ret = ret + t3.rows[i].cells[j].children[0].value + "#";
}
}
alert(ret);
return ret;
}
</script>
<body>
<table id="testTbl" border=1 >
<tr id="tr1">
<td >
<input type=text value="12345"> </input>
</td>
</tr>
<tr id="tr2">
<td ><input type=text value="1bb"> </input> </td>
</tr>
<tr id="tr3">
<td > <input type=text value="1cc"> </input> </td>
</tr>
</table>
<br />
<input type="button" id="add" onclick="addRow('testTbl');" value="Add Row" />
<input type="button" id="addcel" onclick="addCell('testTbl');" value="Add Cell" />
<br />
<input type="button" id="delRow" onclick="delRow('testTbl');" value="remove Row" />
<input type="button" id="delcel" onclick="delCell('testTbl');" value="remove Cell" />
<br />
<input type="button" id="delcel" onclick="formatTableData('testTbl');" value="get data" />
</body>
</html>
相关推荐
js表格操作,DOM实现数据动态增删查改
原生JavaScript,对数据表格进行操作,使用DOM实现数据的动态操作,包括增加、删除、查询、修改。
解决 jqGrid(‘getRowData‘) 获取 少最后一行 bug
/单独用最后一个 ID 获取行数据 并 追加到 集合里。//这里获取所有行 主键id 是全的。// 获取所有行数据 会有个bug 少了最后一行。//最后的ids 就是全的 所有行数据了。//处理少一行bug。
js 操作表格动态添加和删除行
js 操作表格动态添加和删除行
jqgrid获取原始数据,js对象拷贝
用vue做项目碰到的一个js中关于对象拷贝的问题1.jqGrid获取行数据不能获取原始json数据的问题.jqGrid的$(your tableId).jqGrid(“getRowData”,id);方法是获取对应行id的行数据的,这就有个问题了,若返回数据的list是这样的:[ { sex: 1, score: {chinese: 100, math: 100}, hobby: [ball, tv
实例讲解Simulink应用层开发CAN报文解包及CAN信号设置方法
本文通过讲解MCU CAN解包模块的模块设置、输入输出信号的设置及仿真测试验证,说明了CAN解包模块的设置方法、CAN解包模块输入输出信号的设置方法以及CAN解包模块的仿真测试及修正方法。在模型搭建过程中,建议养成一种搭建完成仿真测试验证的习惯,在模块阶段发现错误,解决错误,避免在后期模块集成之后报出大量错误,增加解决错误的工作量和难度。希望通过本文的介绍能给相关技术人员带来一些参考和帮助。
准确率、召回率、f1指标计算的区别
准确率是模型正确预测的样本占总样本的比例。
jqgrid 常见操作
1、 var rowData = $("#datalist").jqGrid("getRowData", empno); //根据id获取该行数据。 2、 $('#datalist').jqGrid('setRowData', rowData.Id, { ScoreK: scorek, ScoreJ: r...
Oracle11g安装教程、配置实例、监听、客户端程序详解_Windows篇
Oracle11g安装教程、配置实例、监听、客户端程序详解_Windows篇 文章目录Oracle11g安装教程、配置实例、监听、客户端程序详解_Windows篇前言一、数据库的安装前准备,前提是没有安装过!!!二、仅安装数据库软件(数据库运行环境)三、添加数据库实例四、设置监听程序,让数据库可以通过网络访问五、为目标数据库设置网名总结 前言 如果需要安装包:联系我看到会给你链接,因为现在官网已经不提供10g,11g的安装包了,在网盘保存望悉知(回复不会很及时,下班看到会回复敬请谅解)。 提示:以下
jqGrid----关于jqGrid的getRowData方法(得到jqGrid行数据)
getRowData rowid or none array[] 返回指定行的数据,返回数据类型为name:value,name为colModel中的名称,value为所在行的列的值,如果根据rowid找不到则返回空。在编辑模式下不能用此方法来获取数据,它得到的并不是编辑后的值 $('#gridId').jqGrid('getRowData'); ...
APM水下机器人实战:从零搭建高精度自主航行系统
本文详细介绍了如何基于开源APM飞控及其水下分支ArduSub,从零搭建高精度自主水下航行器。核心在于集成双天线RTK模块实现厘米级定位与精确航向,并配合MAVROS与ROS构建自主控制系统。文章涵盖了硬件选型、软件配置、自主逻辑开发及水池调试的全流程实战经验,为水下机器人爱好者与研究者提供了一套完整的自主航行系统解决方案。
别再手动对照了!用Python+ArcGIS Pro一键搞定三调数据转土地三大类
本文介绍如何利用Python和ArcGIS Pro实现三调数据向土地三大类的自动化转换,大幅提升国土空间规划和土地变更调查的工作效率。通过封装分类规则为Python函数并集成到ArcGIS Pro脚本工具中,解决了传统手动操作耗时且易错的问题,适用于大规模数据处理场景。
JavaScript 动态表格操作
阅读目录JavaScript 动态创建表格第一种示例第二种示例示例解析表格相关的属性和方法1.1 Table 对象集合1.2 Table 对象方法1.3 Table 对象常用属性1.4 TableRow 对象TableRow 对象方法TableRow 对象属性1.5 TableCell 对象TableCell 对象属性JavaScript 实现点击显示和隐藏表格技术解答JavaScript 实现动态克隆一个表格技术解答JavaScript 实现动态点击改变单元格颜色技术解答 JavaScript 动态创建表
【华为OD技术面试手撕真题】134、爬楼梯 | 手撕真题+思路参考+代码解析(C & C++ & Java & Python & JS)
【华为OD技术面试手撕真题】134、爬楼梯 | 手撕真题+思路参考+代码解析(C & C++ & Java & Python & JS) 华为od机试,华为od机试真题,华为od机试E卷,华为odE卷,华为od机试真题E卷,华为OD,华为OD机试,华为OD机试真题,华为od机考,华为od机试D卷,华为od机试真题D卷,华为od手撕代码,华为od,华为od机试C卷,华为od e卷,华为2025e卷,od机试,2025E卷,华为OD机试E卷,什么是华为od,华为od介绍,全面了解华为od,2025华为od,如何
javascript动态操作表格
js动态操作表格(增加、删除、修改) 通过table的insertCell方法用for循环添加行。 通过removeChild的方法删除行。 通过innerHTML 方法修改行 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>图书管理平台</t...
DeerFlow 系列教程 第十六篇 | 实战案例一——用 DeerFlow 进行深度研究
在日常使用 AI Agent 时,最常见的需求之一就是对某个主题进行全面、系统的研究。多源信息采集——不能只依赖单次搜索,需要从多个角度搜索不同来源交叉验证——不同来源的信息需要相互印证,避免单一信源的偏差结构化输出——最终产出的不是零散的信息片段,而是有组织的研究报告传统做法是人工反复搜索、阅读、整理。传统手工研究: DeerFlow 深度研究:人工搜索 → 阅读页面 → 记笔记 提交研究主题│ │▼ ▼换关键词 → 再搜索 → 再阅读 ┌──────────────────┐。
使用 MATLAB/Simulink 构建一个基于FOC控制的PMSM矢量控制仿真模型
本教程详细介绍了基于MATLAB/Simulink的永磁同步电机(PMSM)磁场定向控制(FOC)系统建模与仿真方法。主要内容包括:PMSM电机模型参数设置、Clarke/Park变换模块设计、电流环PID控制器配置、SVPWM调制实现以及系统仿真参数优化。文章提供了模块化设计思路和具体参数设置示例,并给出了PID整定建议和进阶优化方向。通过该仿真模型,可深入理解PMSM矢量控制原理,掌握高性能电机控制系统的建模技巧,适用于伺服系统、电动汽车驱动等高端控制场景。教程还推荐了实时仿真和高级控制策略等扩展应用。
JavaScript制作动态表格,HTML动态表格 ,JS实现鼠标移入到表格行中实现高亮,可全选,单选,反选,批量删除的动态表格,表格高亮操作
演示动画: 简单一点的动态表格:https://blog.youkuaiyun.com/weixin_44937336/article/details/105743738 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>全选_单选</ti...
VC中sqlite的使用
在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示
js操作动态表格内元素
今天碰到了个问题,页面中存在动态表格,而动态表内空间id是变化的,无法通过id或name进行获取或控制,最终通过js的document.getElementById(),及table.rows[i].cells[5].children[0]达到了目的。 示例代码如下: var msgBz = "提示:<br/>"; var flagBz = true; var table = d...
温度PID控制PLC程序
温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值
SAP B1中文培訓教材_SDK
公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说
html js 动态表格数据类型,JS表格的动态操作完整示例
本文实例讲述了JS表格的动态操作。分享给大家供大家参考,具体如下:js-表格的动态操作#ta tr{height: 20px;}#t1{font-weight: bold;/*align-content: center;*//*不能设置文本内容居中*/}function delectOper(btn){//获取table对象,我们用其进行其对子元素的操作var ta=document.getEle...
迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)
迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)
javascript 动态操作表格
一、动态设置元素readonly属性时,js里面的readOnly一定要大些O document.getElementById("id").readOnly=true; 二、动态给表插入行: function addRow(){ //动态插入一行 var oRow1=mediaMes.insertRow(mediaMes.rows.length); //设置tr的id oRow1....
javascript 动态插入行 表格操作
var i = 0; function insertTr(obj) { var tr1 = tb.insertRow(obj.rowIndex+1); var td1 = tr1.insertCell(); td1.innerHTML = "newCell" + i; i += 1;
js动态实现表格添加和删除操作
运行效果如图(两种实现方案,被注释的是第一种实现方案) <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <style type="text/css"> div{ te...
【Web APIs】JavaScript 节点操作 ⑩ ( 节点操作综合案例 - 动态生成表格案例 )
一、节点操作综合案例 - 动态生成表格案例 1、需求说明 2、表格标签结构 - HTML 标签结构 3、CSS 样式 4、数据对象 - JavaScript 对象 5、节点操作 - 创建 表格节点 并插入 DOM 树 6、节点操作 - 创建 删除链接 节点并插入 DOM 树 7、事件操作 - 添加删除事件 二、节点操作综合案例 - 完整代码 1、代码示例 2、运行效果
详解JS动态操作表格
【JS】☆★之详解动态操作表格 1、web开发的项目中我们做条件查询,数据添加,附件上传等功能时候需要给予用户更多的动态选择,这样就不能将<input />框的个数写死,所以动态操作表格式一个不错的选择! 无标题文档 function AddSignRow(){ /*var str2=document.getElementById("trid").innerH
DOM操作,javascript动态生成表格
javascript动态生成表格,主要是利用DOM创建节点。 所利用到的函数主要有以下三个: document.createElement() document.gerElementByTagName() document.appendChild() 以下是简单的源代码:<!doctype html> <html> <head> <meta charset="utf-8"> <title>Dom操
jquery+js实现动态表格的创建及列表全选等操作
jquery+js实现动态表格的创建及列表全选等操作 1.效果图附上: 2.代码呈上: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <script src="js/jquery.min.js" type="tex...
408



被折叠的 条评论
为什么被折叠?



