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 ...
随机推荐
- jQuery 移动端ajax请求列表数据,实现点击翻页效果(还有手势往下滑动翻页)。
1 首先是html部分 <div class="content"> <div class="list"></div> // ...
- React 学习资源汇总(最全的 React 学习资料)
http://www.360doc.com/content/16/1108/10/17722897_604827790.shtml
- Unity3d copy gameobject from one scene to another
scene-copy-game-objects-from-one-scene-to-anotherhttp://forum.unity3d.com/threads/scene-copy-game-ob ...
- python——django入门篇
要做一只有自学能力的pythoner,尽管大多数自学都是野生并不规范的,会遇到诸多坑,最后用稀奇古怪的方法解决了,但是先了解一些为以后真正学习道路填坑方便了简直不只一点点...重点来了:感觉以班里同学 ...
- 读取中文目录(python)
前言:需要对某目录下的文件进行分类,目录是中文名字就会报错,偶尔会手动修改文件名字,不太方便 解决办法:使用unicode()对路径进行处理 举例: 未进行处理前,该目录下的文件中文名称也是乱码显示的 ...
- ZOJ 2048 highways
题目 比我想象地要容易很多..一开始想得太复杂了,本来想试一下kruskal算法的,嫌麻烦..还是用了之前1203的prim算法...以为要注意这道题的输出顺序,结果不用,直接输出就可以了,就是注意一 ...
- Java 中的 request 和response 区别
1.response 属于重定向请求: 其地址栏的URL会改变: 会向服务器发送两次请求: 2. request 属于请求转发: 其地址栏的URL不会改变: 向服务器发送一次请求: 举一个区分它们的简 ...
- NGUI制作属于自己Button
1.收集一些PNG或PSD格式的button按钮图片(放在img文件夹下,全选) 2.选择需要制作button的图片,NGUI--Atlas Maker--Create,会出现三个命名一样的东西,1个 ...
- iOS-申请邓白氏编码的超详细流程介绍
导读 11.22号要申请苹果公司开发者账号,所以当天下午申请了邓白氏编码,昨天邓白氏编码下来了,这里就做一下记录,分享给大家. 概览 11.22提交的邓白氏编码申请,11.28(礼拜一)华夏邓白氏发来 ...
- Create and Install Timer Job in MOSS 2007
Excute Timerjob public class TriggerLoadCacheTimerJob : SPJobDefinition { string ExceptionFlag = str ...