点击添加,在表格的最后一行添加一行表单元素,右侧按钮变为保存和取消。(点击保存,数据用ajax无刷新添加到界面,点击取消,取消此行的添加。)点击编辑,在本行改为表单,带有原来的值,右侧按钮变为确认和取消。

1.建一个容器

<div id="biaoge">
<table border="1" cellspacing="0" cellpadding="0" width="800">
<tr id="hang"><th>序号</th><th>名称</th><th>链接</th><th id="tianjia"><button id="tj">添加</button></th></tr> </table>
</div>

2.js代码

jiazai();
/*1.点击添加*/
$("#tj").click(function(){ /*点击添加,定义一个新的字符串,扔到表格的后面*/
var str1="<tr><td><input type='text' class='bd1'></td><td><input type='text' class='bd2'></td><td><input type='text' class='bd3'></td><td id='caozuo'><button class='baocun'>保存</button><button class='quxiao'>取消</button></td></tr>";
$("#biaoge table").append(str1);
/*点击取消*/
$(".quxiao").click(function(){
$(this).parent().parent().remove(); /* 找父级元素,一直找到<tr>,删除这个<tr>*/
});
/*点击保存 */
$(".baocun").click(function(){
var hang=$(this).parent().parent(); /* 找父级元素,一直找到<tr>,删除这个<tr>*/
var inpt=hang.find("input"); /* 从<tr>中找到所有的input,再取值*/
var inpt1=inpt.eq(0).val();
var inpt2=inpt.eq(1).val();
var inpt3=inpt.eq(2).val();
qikoo.dialog.confirm('确认保存?',function(){
$.ajax({
url:"../chuli/caidanchuli.php",
data:{type:2,inpt1:inpt1,inpt2:inpt2,inpt3:inpt3},
type:"POST",
dataType:"TEXT",
success: function(data)
{
if(data=="ok")
{
history.go(0);
}else if(data=="kong")
{
alert("栏目名称不能为空");
}
} })
},function(){ }); }); }); /*2.点击删除*/
$(".shanchu").click(function(){
var bs=$(this).attr("bs");
qikoo.dialog.confirm('确认删除?',function(){
$.ajax({
url:"../chuli/caidanchuli.php",
data:{type:1,bs:bs},
type:"POST",
dataType:"TEXT",
success: function(data)
{
if(data=="ok")
{
history.go(0);
}else
{ }
} })
},function(){ }); }); //3.点击编辑
$(".bianji").click(function(){
var hang=$(this).parent().parent();
var td=hang.find("td");
var td1=td.eq(0).text();
var td2=td.eq(1).text();
var td3=td.eq(2).text();
var bs1=$(this).attr("bs1");
var addtd="<tr><td><input type='text' class='bd1' value='"+td1+"'/></td><td><input type='text' class='bd2' value='"+td2+"'/></td><td><input type='text' class='bd3' value='"+td3+"'/></td><td id='caozuo'><button class='queren' bs2='"+bs1+"'>确认</button><button class='quxiao'>取消</button></td></tr>";
hang.replaceWith(addtd); /*点击编辑,定义一个新的字符串,带有原来的值的表单,然后把原来的<tr>替换*/ /* 点击取消*/
$(".quxiao").click(function(){
$(this).parent().parent().remove();
history.go(0);
}); /*点击确认 */
$(".queren").click(function(){ var hang=$(this).parent().parent();
var inpt=hang.find("input");
var inpt1=inpt.eq(0).val();
var inpt2=inpt.eq(1).val();
var inpt3=inpt.eq(2).val();
var bs2=$(this).attr("bs2");
qikoo.dialog.confirm('确认修改?',function(){
$.ajax({
url:"../chuli/caidanchuli.php",
data:{type:3,inpt1:inpt1,inpt2:inpt2,inpt3:inpt3,bs2:bs2},
type:"POST",
dataType:"TEXT",
success: function(data)
{
if(data=="ok")
{
history.go(0);
}else if(data=="kong")
{
alert("栏目名称不能为空");
}
} })
},function(){ }); }); }); function jiazai() /*加载数据*/
{
$.ajax({
data:{type:0},
type:"post",
url:"../chuli/caidanchuli.php",
async:false,
datatype:"TEXT",
success:function(data)
{
var str="";
var hang=data.split("|");
for(var i=0;i<hang.length;i++)
{
var lie=hang[i].split("^");
str=str+"<tr><td>"+lie[1]+"</td><td>"+lie[2]+"</td><td>"+lie[3]+"</td><td id='caozuo'><button class='bianji' bs1='"+lie[0]+"'>编辑</button><button class='shanchu' bs='"+lie[0]+"'>删除</button></td></tr>";
}
$("#biaoge table").append(str); }
});
} });

js控制表格实时编辑的更多相关文章

  1. Ajax实现表格实时编辑

    如果我们的对于一个表格中所有的数据都能在本页进行操作那该是多酷炫的一件事(用起来炒鸡爽)! 用Ajax就可以实现这个功能啦.废话不多说,下面贴出我写的demo吧哈哈.我用的TP框架(3.2)比较习惯啦 ...

  2. Django前端HTML通过JS实现表格可编辑,动态添加行,回车完成新建文件夹

    功能描述: 点击“新建文件夹”按钮,在table的末尾增加一行:单击页面的新增行,使单元格td变成可编辑状态:输入内容后,当单元格失去焦点时,保存输入的内容:回车后通过AJAX提交后台完成新建文件夹. ...

  3. PHP+AJAX 实现表格实时编辑

    https://blog.csdn.net/qq_29627497/article/details/81365107 源码链接:https://pan.baidu.com/s/1fAinVXU-nWt ...

  4. js控制表格单双行颜色交替显示

    <script language="JavaScript"> window.onload = function() { var Table=document.getEl ...

  5. js控制表格隔行变色

    只是加载时候隔行变一个颜色,鼠标滑动上去时候没有变化 <table width="800" border="0" cellpadding="0& ...

  6. 可编辑的表格:jQuery+PHP实现实时编辑表格字段内容

    在本例中,我们会通过jQuery实现单击将一个文本信息变为可编辑的表单,你可以对文本内容进行编辑,然后点击“确定”按钮,新的内容将发送到后台PHP程序处理,并保存到数据库:当点击“取消”按钮,则页面恢 ...

  7. Css+JS模拟实现可编辑的表格

    表格在未编辑状态和编辑状态,需要定义两个不同的样式. 比如未编辑状态是lable的样式,两边有两个括号[],表示该表格可以编辑:编辑中的表格则表示成一个input框,可以输入. 基本思路就是,在表格中 ...

  8. ElementUI表格行编辑单元格编辑支持(输入框,选择框)Demo

    嗯,需要做成这个样子,所以网上查了些资料.整理了下.提供几个一个思路.不足之处请小伙伴指出来.  普通版的table可编辑内嵌select选择框,输出框,编辑删除添加等 <!DOCTYPE ht ...

  9. AppBoxPro - 细粒度通用权限管理框架(可控制表格行内按钮)源码提供下载

    特别声明: 提供的源代码已经包含了 AppBoxPro 的全部源代码,用 VS2012 打开项目后,直接 Ctrl+F5 可以运行起来(默认使用VS自带的LocalDB数据库). FineUIPro是 ...

随机推荐

  1. 微信小程序之swiper组件高度自适应

    微信小程序之swiper组件高度自适应 要求: (顶部广告栏 ) 改变swiper组件的固定高度,使之随内部每张图片的高度做自适应 原理: 图片加载完之后,获取图片的原始宽高,根据宽高比,计算出适应后 ...

  2. comfirm 方法显示对话框

    comfirm 方法显示对话框 原理: confirm() 方法用于显示一个带有指定消息和 OK 及取消按钮的对话框 confirm(message): message:要在 window 上弹出的对 ...

  3. python web开发-flask中response,cookies,session对象使用详解

    Response响应对象: 当一个web请求被服务器处理完后,会返回用户请求的响应,这时候就要用到响应对象,根据响应给用户的形式不同,响应对象有以下几种处理方式 如果返回的是一个合法的响应对象,它会从 ...

  4. [UWP]理解ControlTemplate中的VisualTransition

    1. 前言 VisualTransition是控件模板中的重要组成部分,无论是自定义控件或者修改控件样式都会接触到VisualTransition.明明这么重要,博客园上好像都没多少关于VisualT ...

  5. zabbix添加自定义监控项

    zabbix添加自定义监控项 author:headsen  chen   2017-10-16  17:23:17 个人原创,转载请注明作者,出处,否则依法追究法律责任 主机端配置: 首先安装好za ...

  6. Ubuntu开启远程连接

    Ubuntu开启远程连接 author:headsen chen   2017-10-13   09:47:38 个人原创,严禁转载,违者追究法律责任: apt-get update apt-get ...

  7. var 在异步中引发的 bug

    问题复现 for (var i = 0; i < 10; i++) { $http.get("/uri").then(function(data)){ mydata[i].d ...

  8. 理解C语言中几个常见修饰符

    写在前面 今天下午一个同事问「register」关键字是什么作用?噢,你说的是「register」啊,它的作用是……脑袋突然断片儿,我擦,啥意思来着,这么熟悉的陌生感.做C语言开发时间也不短了,不过好 ...

  9. 笔记:Hibernate 拦截器和事件

    Hibernate 在执行持久化的过程中,应用程序通常无法参与其中,通过事件框架,Hibernate 允许应用程序能响应特定的内部事件,从而允许实现某些通用的功能,或者对 Hibernate 进行扩展 ...

  10. linux内核管理

      一  linux组成:kernel.库.rootfs.程序 1.kernel的功能: 1) kernel提供的功能都通过系统调用给用户接口 2) kernel包括:进程管理 .内存管理 .网络管理 ...