- 浏览: 457306 次
- 性别:
- 来自: 南京
文章分类
最新评论
-
a1439226817:
能不能发下源码1439226817@qq.com
ExtJsCRUD组件实现 -
w923690968:
[list][*]引用[u][/u][/list]
[JS]Drag And Drop -
zhumingyuan:
您好!用的的是3.2.3版本,按照您的方法配置了一下,但是还是 ...
spring vmc3.1.1 下,通过AnnotationMethodHandlerAdapter配置webBindingInitializer失效解决方案 -
sumo084:
我把xDarkness-MultClrBubble-1.0.j ...
JAVA实现类泡泡屏保效果 -
sumo084:
求源码,楼主好人,630483738@qq.com,谢谢
JAVA实现类泡泡屏保效果
struts2中可以自动封装表单提交过来的参数
但是页面中需要可以通过js动态添加行,实现代码如下
看一下这行代码的效果:
结果td的起始标签不见了,替换后只剩下td的结束标签,原因未知
然后试着将td的innerHTML进行替换
调试一看,样式及一些自定义属性不见了
没办法,只能找出所有input,改变其id、name了
完美了?测试看看效果
点击最下面的时间选择控件,结果发现,其定位到了第一行中的tr上去了,newTr中元素绑定的事件都绑定到原始tr了,看来cloneNode(true)会拷贝元素在内存中的所有状态
还是老老实实的通过dom创建元素吧:
OK,搞定......
List<RuleHour> exSeasonOut = new ArrayList<RuleHour>();
<tr id="exSeasonOutTr"> <td> <sky:datePicker name="ruleVO.exSeasonOut[${status.index}].fromDate,ruleVO.exSeasonOut[${status.index}].toDate" /> </td> </tr>
但是页面中需要可以通过js动态添加行,实现代码如下
$("exSeason").on("click",addRow); /* copy the tr(id) and append to the table, change the id、name of the new tr at the same time */ function addRow(id) { var tr = $(id); if(!tr.index) { tr.index = 0; } tr.index++; var newTr = tr.cloneNode(true); newTr.innerHTML = newTr.innerHTML.replace(/[\d]/g, tr.index); tr.parentElement.appendChild(newTr); }
看一下这行代码的效果:
newTr.innerHTML = newTr.innerHTML.replace(/[\d]/g, tr.index);
结果td的起始标签不见了,替换后只剩下td的结束标签,原因未知
然后试着将td的innerHTML进行替换
newTr.childNodes[0].innerHTML = newTr.childNodes[0].innerHTML.replace(/[\d]/g, tr.index);
调试一看,样式及一些自定义属性不见了
没办法,只能找出所有input,改变其id、name了
var inputs = newTr.$T("input"); for(var i=0;i<inputs.length;i++) { inputs[i].id = inputs[i].id.replace(/[\d]/g, tr.index); inputs[i].name = inputs[i].name.replace(/[\d]/g, tr.index); }
完美了?测试看看效果
点击最下面的时间选择控件,结果发现,其定位到了第一行中的tr上去了,newTr中元素绑定的事件都绑定到原始tr了,看来cloneNode(true)会拷贝元素在内存中的所有状态
还是老老实实的通过dom创建元素吧:
<fieldset> <legend> <div style="float:left;">季节</div> <div style="float:left;"> <input type="button" value="添加" onclick="addRow('seasonOutTr')"/></div> <div style="float:left;"> <input type="button" value="删除" onclick="deleteRow('seasonOutTr')"/></div></legend> <table width="100%" border="1" cellpadding="2" cellspacing="0" bordercolor="#cccccc" style="border-collapse:collapse"> <s:iterator value="ruleVO.seasonOut" var="seasonOut" status="status"> <s:hidden name="ruleVO.seasonOut[%{#status.index}].id" /> <tr id="seasonOutTr"> <td> <sky:datePicker name="ruleVO.seasonOut[${status.index}].fromDate,ruleVO.seasonOut[${status.index}].toDate" /> </td> </tr> </s:iterator> </table> </fieldset> /* copy the tr(id) and append to the table, change the id、name of the new tr at the same time */ function addRow(id) { var tr = $(id); if(!tr.index) { tr.index = 0; } tr.index++; var newTr = tr.cloneNode(true); //newTr.innerHTML = newTr.innerHTML.replace(/[\d]/g, tr.index); //newTr.childNodes[0].innerHTML = newTr.childNodes[0].innerHTML.replace(/[\d]/g, tr.index); var inputs = newTr.$T("input"); for(var i=0;i<inputs.length;i++) { inputs[i].id = inputs[i].id.replace(/[\d]/g, tr.index); inputs[i].name = inputs[i].name.replace(/[\d]/g, tr.index); if(inputs[i].id.indexOf("from") != -1) { inputs[i].onclick = function() { WdatePicker({ dateFmt:'yyyy-MM-dd', maxDate:'#F{$dp.$D(\'' + this.id.replace("from", "to") + '\')}' }); }; } else { inputs[i].onclick = function() { WdatePicker({ dateFmt:'yyyy-MM-dd', minDate:'#F{$dp.$D(\'' + this.id.replace("to", "from") + '\')}' }); }; } } tr.parentElement.appendChild(newTr); } function addCombineFaresRow(id) { var tr = $(id); if(!tr.index) { tr.index = 0; } tr.index++; var newTr = tr.cloneNode(true); var inputs = newTr.$T("input"); for(var i=0;i<inputs.length;i++) { inputs[i].id = inputs[i].id.replace(/[\d]/g, tr.index); inputs[i].name = inputs[i].name.replace(/[\d]/g, tr.index); if(inputs[i].id.indexOf("seqId") != -1) { inputs[i].value = tr.index+1; } } tr.parentElement.appendChild(newTr); } /* delete the table's last tr */ function deleteRow(id) { var tr = $(id); if(!tr.index || tr.index==0) { return; } var trs = tr.parentElement.childNodes; tr.parentElement.removeChild(trs[trs.length-1]); tr.index--; } function addTimeRow(id) { var table = $(id); var count = table.rows.length; var tr = table.insertRow(); var td = tr.insertCell(); var names = [id + "["+count+"].fromDate", id + "["+count+"].toDate"]; td.appendChild(Sky.createEl({ tag: "input", name: names[0], className: ["datePicker", "date"], onClick: function(){ WdatePicker({dateFmt:'yyyy-MM-dd',maxDate:'#F{$dp.$D(\''+names[1]+'\')}'}); } })); td.appendChild(Sky.createText(" - ")); td.appendChild(Sky.createEl({ tag: "input", name: names[1], className: ["datePicker", "date"], onClick: function(){ WdatePicker({dateFmt:'yyyy-MM-dd',minDate:'#F{$dp.$D(\''+names[0]+'\')}'}); } })); }
OK,搞定......
发表评论
-
google浏览器书签账号登陆不上解决方案
2011-10-10 09:22 760问题: 最近google浏览器书签同步账号登陆不上 ... -
Dom多事件注册
2010-12-15 15:28 1129今天看到这样一段代码,如下: Page.clickFunc ... -
excanvas饼图实现
2010-10-21 15:04 2760代码比较简单,需要注意的一点就是: 如果想让饼图的边框显示出来 ... -
Tab键控制页面中元素获取焦点顺序
2010-08-19 17:35 4047修改默认Tab键按键触发,界面元素获取焦点的顺序 此方法 ... -
JS-自动提示组件
2010-08-19 17:23 1727注:源自Ajax实战 实现自动提示功能: <!DOCT ... -
js实现在图片上画矩形框
2010-08-18 16:10 10764JS组件: @author Darkness @versio ... -
JS控制输入字符长度
2009-11-09 10:50 5507<script language="Jav ... -
internet explorer 无法打开 Internet站点 已中止操作
2009-09-26 18:20 2115JavaScript使IE的经典异常 代码 http://ww ... -
fusioncharts相关问题
2009-09-26 15:59 1702中文问题 使用UTF-8 or GBK,X 轴正常, ... -
js日期时间函数
2009-09-20 17:28 1142Date.prototype.isLeapYear 判断闰 ... -
IE6 png 透明 (三种解决方法)
2009-09-14 14:49 1980FF和IE7已经直接支持透明的png图了,下面这个主要是解决I ... -
类似MSN的消息提示
2009-08-18 11:00 926<html> <head> ... -
IE6的“错误:53 存储空间不足,无法完成此操作”解决方法
2009-08-07 21:10 7944一法: 打开注册表, ... -
表格边框的隐藏
2009-08-07 09:19 2555代码如下: <html> <he ... -
JS操作VML
2009-08-03 14:52 2738可以用鼠标拖动这条线,效果如图: 说明:还有一些bug, ... -
javascript技巧大全 (3)
2009-03-06 12:36 1083... -
javascript技巧大全(2)
2009-03-06 12:33 1285进入页面<meta http-equiv="P ... -
javascript技巧大全(1)
2009-03-06 12:32 1110事件源对象 event.srcElement.tagName ... -
javascript性能优化
2009-02-27 10:56 4312很久就想总结一下关于javascript性能优化方面的一些东西 ... -
JavaScript DOM笔记:修改DOM
2009-02-27 10:51 2211常用函数: creat ...
相关推荐
无人机最强算法源码,易于部署和学习交流使用
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
此数据集主要是一个跟酒店类型有关的数据集,源于kaggle网站上的Guatemalas_Travel数据集,因设计所需,本人对原来的数据集进行了必要的修改。
3D相册.zip
数据来源:中国统计NJ-2023版
3dmax空对象清除器,在场景中找到空对象,向你显示这些对象的列表,并允许你从场景中删除它们。
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
数据来源:中国统计NJ-2023版
数据要素资产化与数据资产入表路线框架总体规划方案.pptx
施耐德电气 8100C 8200C 8300C 用户手册
无人机最强算法源码,易于部署和学习交流使用
员工培训方案gl.ppt
旅行商问题
小米扫地机器人工程源码程序STM32103 freeRTOS设计源代码,某米早起的扫地机器人的源码,使用的是STM32开发,freeRTOS系统,包含完整的工程源码,可以做为你的学习设计参考。 HARDWARE文件夹 硬件初始化源文件 application_Robot 机器人行为相关的文件 application_Share 机器人共享相关的文件(一般为算法) application_Motor 机器人电机应用相关文件 application_Key 机器人按键应用相关文件 application_Led 机器人LED应用相关文件 application_Led 机器人adc获取与处理应用相关文件 application_PowerChip 机器人电池管理芯片与充电应用相关文件 application_Bmi160 机器人BMI160 陀螺仪芯片 应用相关文件 application_Drop 机器人掉落传感器应用相关文件 application_UltraSonic 机器人超声波传感器应用相关文件 appl
39黎秋菊.ipynb
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
模板描述:域名注册查询 微信小程序。域名注册查询的微信小程序页面源码是使用微信WEB开发者工具开发,亲测可直接运行。该程序从设计上满足了相关应用服务的设计要求,是一款非常值得学习简介的DEMO小程序源码。
无人机最强算法源码,易于部署和学习交流使用
DCS 400 手册
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。