js回车动态添加表格,右键动态删除表格行
<script type="text/javascript" language="javascript">
//屏蔽浏览器右键
function stop(){
return false;
}
document.oncontextmenu = stop;
var i=3;
$(function() {
//点击页面其他位置右键菜单消失
$('body').bind('click', function(ev) {
$('#menu').css('display','none');
$('#menub').css('display','none');
});
var $inp = $('.cls');
$inp.bind('keydown', function(e) {
var key = e.which;
if (key == 13) {
var id = $("input:focus").attr("id");
if (id == "isAbroad2") {
addTable();
document.getElementById("name3").focus();
}
e.preventDefault();
var nxtIdx = $inp.index(this) + 1;
$(".cls:eq(" + nxtIdx + ")").focus();
}
});
//回显子表1数据
var b=$("#dcasXmsbs_2_1s").val();
if(b!=null && b!=""){
var c=b+"";
var d=c.replace(/__/g, '"');
var e=d+"";
var json=eval('('+e+')');
if(json.length<1){
}else{
for ( var s = 0; s < json.length; s++) {
if(s>2){
addTable();
}
$("#id"+s).val(json[s].id);
$("#name"+s).val(json[s].name);
$("#birthday"+s).val(json[s].birthday);
$("#nationality"+s).val(json[s].nationality);
$("#education"+s).val(json[s].education);
$("#duty"+s).val(json[s].duty);
$("#studyDirection"+s).val(json[s].studyDirection);
$("#plan"+s).val(json[s].plan);
$("#isAbroad"+s).val(json[s].isAbroad);
}
i = json.length;
}
}
});
//追加明细
function addTable() {
var s = i+1;
var tbody= "tbody" + i;
var id = "id" + i;
var name = "name" + i;
var birthday = "birthday" + i;
var nationality = "nationality" + i;
var education = "education" + i;
var duty = "duty" + i;
var studyDirection = "studyDirection" + i;
var plan = "plan" + i;
var isAbroad = "isAbroad" + i;
$("#table_buffer")
.append(
" <tbody id=\""+tbody+"\" class='pn-ltbody'> "
+ "<td> "+ "<input type=\"hidden\" id=\""+id+"\" name=\""+id+"\"/>"+ "<input type=\"text\" id=\""+name+"\" name=\""+name+"\" style=\"width: 80px;\" onmouseup=\"youjian("+s+",this)\" />"+ "</td> "
+ "</tbody>");
i++;
$("#countInfo1").val(i);
}
function changeNextFocus(str, s,event) {
if (event.keyCode == 13) {
if (str == "netLine") {
addTable();
var ss = s + 1;
document.getElementById("name" + ss).focus();
} else {
str.focus();
}
}
}
//表格1
//右键事件
var rowIndex; //用于后台删除数据
var rowIndex2;//标识当前行
function youjian(a,b){
var container = document.getElementById('table_buffer');
var menu = document.getElementById('menu');
if(event.button == 2){
var evt = window.event || arguments[0];
/*获取当前鼠标右键按下后的位置,据此定义菜单显示的位置*/
menu.style.left = container.scrollLeft + evt.clientX + "px";
menu.style.top = container.scrollTop + evt.clientY +document.body.scrollTop+ "px";
/*设置菜单可见*/
$('#menu').css('display','block');
rowIndex = a;
rowIndex2 = b;
}
}
//删除行
function delRow(){
var r = rowIndex-1;
var delId1 = $('#delId1').val();
if(delId1==null || delId1 == ""){
var id = $("#id"+r).val();
$('#delId1').val(id);
}else{
$('#delId1').val(delId1+","+$("#id"+r).val());
}
document.getElementById('table_buffer').deleteRow(rowIndex2.parentNode.parentNode.rowIndex);
}
</script>
<body>
<div id="menu" class="menuSkin">
<span style="cursor: pointer;" id="shanchu" onclick="delRow()">删除</span>
</div>
</body>
js回车动态添加表格,右键动态删除表格行的更多相关文章
- ASP.NET网页动态添加、更新或删除数据行
ASP.NET网页动态添加.更新或删除数据行 看过此篇<ASP.NET网页动态添加数据行> http://www.cnblogs.com/insus/p/3247935.html的网友,也 ...
- Quartz动态添加,修改,删除任务(暂停,任务状态,恢复,最近触发时间)
首页 博客 学院 下载 图文课 论坛 APP 问答 商城 VIP会员 活动 招聘 ITeye GitChat 写博客 小程序 消息 登录注册 关闭 quartz_Cron表达式一分钟教程 09-05 ...
- javascript里面的数组,json对象,动态添加,修改,删除示例
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- Quartz动态添加、修改和删除定时任务
任务调度开源框架Quartz动态添加.修改和删除定时任务 Quartz 是个开源的作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制.Quartz框架包含了调度器监听.作业和触 ...
- Quartz 2.2 动态添加、修改和删除定时任务
QuartzManager.Java 动态添加.修改和删除定时任务管理类 import org.quartz.CronScheduleBuilder; import org.quartz.CronTr ...
- 转: javascript动态添加、修改、删除对象的属性和方法
在其他语言中,对象一旦生成,就不可更改了,要为一个对象添加修改成员必须要在对应的类中修改,并重新实例化,而且程序必须经过重新编译.JavaScript 中却非如此,它提供了灵活的机制来修改对象的行为, ...
- Quartz 2.3 动态添加、修改和删除定时任务
下面直接上代码: <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>qu ...
- javascript动态添加、修改、删除对象的属性与方法
在其他语言中,对象一旦生成,就不可更改了,要为一个对象添加修改成员必须要在对应的类中修改,并重新实例化,而且程序必须经过重新编译.JavaScript 中却非如此,它提供了灵活的机制来修改对象的行为, ...
- redis怎么动态添加内存,动态配置,无需重启。
在redis的使用过程中,有时候需要急需修改redis的配置,比如在业务运行的情况下,内存不够怎么办,这时要么赶紧删除无用的内存,要么扩展内存.如果有无用的内容可删除那么所有问题都已经解决.如果内容都 ...
- 动态添加布局、动态添加View、LinearLayout动态添加View;
LinearLayout提供了几个方法,用作动态添加View特别好用: 可以添加View.删除View.删除指定位置View.删除全部View: 看代码: public class MainActiv ...
随机推荐
- 离线更新VSAN HCL数据库
从VSAN 6.0起,VSAN提供了Health Check功能,其中就包括VSAN HCL数据库,通过此运行状况检查验证用于 HCL 检查的 VMware 兼容性指南数据库是否是最新的.这些 VCG ...
- VS后台程序无法调用App_Code里的公共类解决方案
在Web应用程序中不能通过右键项目-〉”添加“-〉”添加ASP.NET文件夹“方式添加 .因为Web应用程序中App_Code就不存在 .不过可以通过手动的方式创建,添加一个文件夹命名为App_Cod ...
- Oracle安装时OracleMTSRecoveryService找不到
电脑重做系统之后再安装oracle过程中出现一个问题,说OracleMTSRecoveryService找不到指定的目录文件,卸载重装还是没有改变,挣了半天终于找到怎么更改了,打开注册表编辑器,SYS ...
- 关于启用 HTTPS 的一些经验分享(一)
转载: 关于启用 HTTPS 的一些经验分享(一) 随着国内网络环境的持续恶化,各种篡改和劫持层出不穷,越来越多的网站选择了全站 HTTPS.就在今天,免费提供证书服务的 Let's Encrypt ...
- [python] 常用正则表达式爬取网页信息及分析HTML标签总结【转】
[python] 常用正则表达式爬取网页信息及分析HTML标签总结 转http://blog.csdn.net/Eastmount/article/details/51082253 标签: pytho ...
- 【转】如何保护自己的QQ号
账号丢失的原因 账号被注销 长时间未登陆 如果你的QQ号是普通号码,在连续三个月不登陆的情况下,腾讯公司会自动收回你的账号,也就意味着这个QQ号码从此再也不属于你了,会员号码是不会被收回的,要想不被收 ...
- 利用windbg 分析IIS 的线程池w3wp程序多线程挂起问题
前几天有个朋友发个了在windows server 2008跑的IIS 跑的程序w3wp程序dmp,要我帮忙分析为何线程都挂起不运行 经过查阅资料用windbg可以调试可以输出线程的调用堆栈,但是准备 ...
- php学习笔记之wamp安装配置
一.下载apache.php.mariadb apache 下载地址:http://www.apachehaus.com/cgi-bin/download.plx VC9版本分为:32位版.64位版. ...
- Oracle PL/SQL
PL/SQL 简介 PL/SQL 是过程语言(Procedural Language)与结构化查询语言(SQL)结合而成的编程语言,是对 SQL 的扩展,它支持多种数据类型,如大对象和集合类型,可使用 ...
- UIScrollView无法滚动的解决办法及UIScrollView的代理(delegate)
1•如果UIScrollView无法滚动,可能是以下原因: Ø没有设置contentSize ØscrollEnabled = NO Ø没有接收到触摸事件:userInteractionEnabled ...