今天在学尚学堂drp的时候发现其中有点问题。但是找了半天就是不知道,最后一分析,原来是id重复的问题。主要是那老师的代码也是有问题的,但是问题偶尔出现。
其核心的js代码如下:
var rowIndex = 0;
function addOneLineOnClick() {
var row=tblFlowCardDetail.insertRow(tblFlowCardDetail.rows.length);
var col = row.insertCell(0);
col.innerHTML = "<input readonly=\"true\" maxLength=6 size=6 name=aimId><input type=button value =... name=btnSelectAimClient index=\""+ rowIndex +"\" onclick=\"selectAimClient(this.index)\">";
col = row.insertCell(1);
col.innerHTML = "<input id=aimName name=aimName size=25 maxlength=25 readonly=\"true\">";
col = row.insertCell(2);
col.innerHTML = "<input readonly=\"true\" maxLength=6 size=6 name=itemNo><input type=button value =... name=btnSelectItem index=\""+ rowIndex +"\" onclick=\"selectItem(this.index)\">";
col = row.insertCell(3);
col.innerHTML = "<input id=itemName name=itemName size=25 maxlength=25 readonly=\"true\">";
col = row.insertCell(4);
col.innerHTML = "<input id=spec name=spec size=10 maxlength=10 readonly=\"true\">";
col = row.insertCell(5);
col.innerHTML = "<input id=pattern name=pattern size=10 maxlength=10 readonly=\"true\">";
col = row.insertCell(6);
col.innerHTML = "<input id=unit name=unit size=4 maxlength=4 readonly=\"true\">";
col = row.insertCell(7);
col.innerHTML = "<input id=qty name=qty size=6 maxlength=6>";
col = row.insertCell(8);
col.innerHTML = "<input type='button' value='删除' id=btnDeleteLine name=btnDeleteLine onclick=\"return DeleteRow('row" + rowIndex + "')\"></tr>";
row.setAttribute("id", "row" + rowIndex);
rowIndex++;
}
function DeleteRow(rowTag){
var i = tblFlowCardDetail.rows(rowTag).rowIndex;
var j;
for(j=i;j<=rowIndex;j++) {
tblFlowCardDetail.rows(j).cells(0).all("btnSelectAimClient").index--;
tblFlowCardDetail.rows(j).cells(2).all("btnSelectItem").index--;
}
tblFlowCardDetail.deleteRow(i);
rowIndex--;
}
问题就出在:
row.setAttribute("id", "row" + rowIndex); 和rowIndex--;上面
当删除一行的时候,rowIndex--,而id没有变,
加入添加了两行,两行的id分别是row0和row1,这时rowIdex也变成了2,这时把row0删除了,所以rowIndex减一,变成了1,这个时候再加一行,新加的这行的id也成了row1(因为这时rowIndex等于1),所以这时候就存在两行的id都为row1的情况,所以删除的时候,就会出错,我试过了,如果找不到的话,他会从第一行开始删除。
其实我觉得那天我的那个办法还行,就是rowIndex不减,直接加到id里面,但是这样rowIndex会变的很大,如果长时间操作的话,但是个人认为这对性能影响不大,其实进行减的时候,同样耗时。
分享到:
相关推荐
DRP中的分销库存管理业务流程,主要涉及物料的调拨、出入库审核、库存调整等物流问题。系统启用后,商务主管和数据录入员协同工作,确保流向单数据的准确性,同时项目会计会进行抽查以保证数据的一致性。此外,系统...
尚学堂drp课程源码
通过这些详细的功能模块,尚学堂DRP项目为学员构建了一个全面的DRP学习框架,涵盖了分销业务中的核心流程,同时也强调了系统管理和权限控制的重要性。通过这样的培训,学员不仅可以了解DRP系统的工作原理,还能掌握...
喜欢老马的人都知道,尚学堂的javascript,很强大
此外,课程中提到的Vue.js是一个流行的JavaScript框架,用于构建用户界面。Vue的特点是轻量级、易学易用,且拥有强大的组件系统和虚拟DOM,使得开发大型复杂应用变得简单。Vue与HTML5的结合,将帮助开发者创建响应式...
"尚学堂Spring学习笔记" 本文档记录了尚学堂Spring学习笔记的重要知识点,涵盖了Spring配置文件的设置、普通属性的注入、自定义属性编辑器、公共属性的注入、Spring注解等内容。 一、Spring配置文件的设置 在...
尚学堂Java笔记.pdf 本资源主要讲述Java语言的基础知识和应用,包括J2SDK、JRE、JDK、classpath、path、Java应用程序、递归调用等内容。 一、J2SDK和JRE Java2 Software Development Kit(J2SDK)是Java开发需要...
在"drp项目源码"中,JDBC可能被用来连接到数据库,执行SQL语句,如插入、更新、删除数据,或者查询数据库中的信息。使用JDBC进行数据库操作的基本步骤包括加载驱动、建立连接、创建Statement或PreparedStatement对象...
系统功能包括: 个人办公:1.我的办公桌,2.我的便签,3.我的任务,4....公文管理:1.公文维护,2....公共信息:1....行政办公:1....工作流程:1....组织管理:1....权限管理:1....系统管理:1....人事档案:1....数据库采用MYSQL(可以自己...
设计模式是软件开发中的重要概念,它代表了在特定上下文中解决常见问题的最佳实践。GOF23设计模式,由Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides四位大师在《设计模式:可复用面向对象软件的基础》...
尚学堂的Hibernate3.3.2项目源码提供了深入学习和实践Hibernate的机会,让我们一起深入探讨这个项目中的关键知识点。 首先,我们来看看Hibernate的核心概念。在Hibernate中,实体类代表数据库中的表,实体类的每个...
我网上找的尚学堂书籍推荐,希望对自学的朋友有帮助
- **字符串连接**:若要在SELECT语句中连接包含单引号的字符串,则需使用两个单引号来表示一个实际的单引号,例如`select ename || 'a''b' from emp;`。 #### 第五课:DISTINCT关键字 - **去除重复值**:使用`...
【尚学堂Hibernate学习笔记】是一份详尽的学习资料,旨在帮助初学者理解并掌握Hibernate这一流行的Java对象关系映射(ORM)框架。该笔记由作者根据马士兵老师的教程整理而成,其中包含了个人的学习注解,使得内容...
在这个OA(办公自动化)管理项目中,开发者借鉴了尚学堂的SSH项目,结合最新的技术和最佳实践,提供了全面的源码实现。下面我们将深入探讨SSH2框架及其在OA项目中的应用。 **Struts2** 是一个MVC(模型-视图-控制器...
在这个《尚学堂_Spring_0100_模拟Spring》的学习资源中,我们可能会关注Spring框架的基础和关键概念。"模拟Spring"可能意味着我们将通过一个简化版或实例化的Spring核心功能来学习其工作原理。这种实践性的方法有助...
### 尚学堂Hibernate笔记知识点详解 #### 一、项目初始化与环境搭建 1. **新建项目**:在IDE中创建一个新的Java项目。 2. **构建用户库并添加所需的JAR包**: - 右键点击项目 -> `Build Path` -> `Configure ...
标题中的"Spring_0700_IOC_Collections"指的是Spring框架中的IoC(Inversion of Control,控制反转)容器对集合类型的处理。在这个教程或博文中,我们可能将深入理解Spring如何管理和装配集合对象,如List、Set、Map...
《Java尚学堂坦克大战初版》是一款基于Java编程语言开发的简易坦克战斗游戏,适合初学者进行学习和实践。这个游戏的代码是根据尚学堂的教学视频逐步编写并经过个人改良的,尽管它并非一个完整的坦克游戏,但对于理解...
### Oracle学习笔记(尚学堂版) #### 知识点概览 本篇Oracle学习笔记主要由尚学堂马士兵老师的教学内容整理而成,旨在为初学者提供一个系统的学习框架与实践指南。通过以下知识点的梳理,我们可以更好地理解...