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 ...
随机推荐
- vCSA加域&vcenter关联域&设置管理员权限
vCSA 与 Windows vCenter对比 1.部署起来更简单快捷. 2.vCSA基于Linux授权费用节省. 3.功能在6.0之后达到与Windows vCenter一样的功能,之后可能会反超 ...
- Excel数据批量导入到数据库2
1.导包(共3个) 2.jsp <s:form action="ReadExcel.action" method="post" enctype=" ...
- simpson法求积分 专题练习
[xsy1775]数值积分 题意 多组询问,求\(\int_l^r\sqrt{a(1-{x^2\over b})}dx\) 分析 double f(double x) { return sqrt(a* ...
- DEVExpress GridControl|TableView |FormatConditions 按一定格式设置相应内容
Get到一个新技能,感觉好棒.摘自DEV官网:https://www.devexpress.com/Support/Center/Example/Details/T135593 <Window ...
- bizagi simulation 仿真学习
Level 1 - Process Validation 1. maximum arrival count Define the number of token instances the proce ...
- 仿苹果导航菜单js问题
通过鼠标与不同图片的间距比对图片做相应的放大缩小. <div id="box"> <img src="images/1.png" class= ...
- Web应用安全十大主动安全措施
这几天有空参加了360主办的第一届互联网安全大会(ISC 2013),除了现场看到FREEBUF现场微博号发的众多妹子之外,也听到了很多有趣的议题,比如TK分享的通过网络运营商缓存服务器偷渡,只需一台 ...
- Java 根据当前时间获取明天、当前周的周五、当前月的最后一天
private Date getDateByType(Date date, Integer type) { Calendar calendar = Calendar.getInstance(); ca ...
- iOS:iOS中的多控制器管理
iOS中的控制器有三种创建方式: 1.通过storyboard创建 UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@" ...
- Python笔记总结week5
Decorator:多层装饰器 #双层装饰器(用户登录,权限) #多层: 调用从最外层到最内层函数,返回值则从最内到最外层函数 USER_INFO = {} #USER_INFO['is_login' ...