js控制表格实时编辑



点击添加,在表格的最后一行添加一行表单元素,右侧按钮变为保存和取消。(点击保存,数据用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控制表格实时编辑的更多相关文章
- Ajax实现表格实时编辑
如果我们的对于一个表格中所有的数据都能在本页进行操作那该是多酷炫的一件事(用起来炒鸡爽)! 用Ajax就可以实现这个功能啦.废话不多说,下面贴出我写的demo吧哈哈.我用的TP框架(3.2)比较习惯啦 ...
- Django前端HTML通过JS实现表格可编辑,动态添加行,回车完成新建文件夹
功能描述: 点击“新建文件夹”按钮,在table的末尾增加一行:单击页面的新增行,使单元格td变成可编辑状态:输入内容后,当单元格失去焦点时,保存输入的内容:回车后通过AJAX提交后台完成新建文件夹. ...
- PHP+AJAX 实现表格实时编辑
https://blog.csdn.net/qq_29627497/article/details/81365107 源码链接:https://pan.baidu.com/s/1fAinVXU-nWt ...
- js控制表格单双行颜色交替显示
<script language="JavaScript"> window.onload = function() { var Table=document.getEl ...
- js控制表格隔行变色
只是加载时候隔行变一个颜色,鼠标滑动上去时候没有变化 <table width="800" border="0" cellpadding="0& ...
- 可编辑的表格:jQuery+PHP实现实时编辑表格字段内容
在本例中,我们会通过jQuery实现单击将一个文本信息变为可编辑的表单,你可以对文本内容进行编辑,然后点击“确定”按钮,新的内容将发送到后台PHP程序处理,并保存到数据库:当点击“取消”按钮,则页面恢 ...
- Css+JS模拟实现可编辑的表格
表格在未编辑状态和编辑状态,需要定义两个不同的样式. 比如未编辑状态是lable的样式,两边有两个括号[],表示该表格可以编辑:编辑中的表格则表示成一个input框,可以输入. 基本思路就是,在表格中 ...
- ElementUI表格行编辑单元格编辑支持(输入框,选择框)Demo
嗯,需要做成这个样子,所以网上查了些资料.整理了下.提供几个一个思路.不足之处请小伙伴指出来. 普通版的table可编辑内嵌select选择框,输出框,编辑删除添加等 <!DOCTYPE ht ...
- AppBoxPro - 细粒度通用权限管理框架(可控制表格行内按钮)源码提供下载
特别声明: 提供的源代码已经包含了 AppBoxPro 的全部源代码,用 VS2012 打开项目后,直接 Ctrl+F5 可以运行起来(默认使用VS自带的LocalDB数据库). FineUIPro是 ...
随机推荐
- NancyFX 第七章 模型绑定和验证
任何优秀的框架,都能传递参数.在之前的路由章节,我们已经看到了如何在URL中传递参数. 能够传递简单的参数当然好,特别是在设计那些从数据库读取记录的API设计中.但是,很多情况下也是需要传递复杂对象. ...
- 使用shutdown命令实现局域网内远程关机、重启整蛊他人
用法: shutdown [/i | /l | /s | /r | /g | /a | /p | /h | /e | /o] [/hybrid] [/soft] [/f] [/m \\compu ...
- 如何彻底关闭windows defender
我是一个喜欢裸奔的人,我不喜欢使用那些安全软件,什么360啊,什么毒霸啊让我深恶痛绝,就连windows自带的杀软我都不能忍啊,因为我平时喜欢找一下软件,很多的补丁和注册机,这些安全软件都会误报,所以 ...
- VISUALSVN: UNABLE TO CONNECT TO A REPOSITORY AT URL 无法连接主机的解决办法
场景:我的系统是win7,安装的 VisualSVN Server 作为svn 服务器,昨天是好的,我手渐,使用鲁大师优化了系统,今天提交,更新的时候,直接提示:Unable to connect t ...
- 51ak带你看MYSQL5.7源码2:编译现有的代码
从事DBA工作多年 MYSQL源码也是头一次接触 尝试记录下自己看MYSQL5.7源码的历程 目录: 51ak带你看MYSQL5.7源码1:main入口函数 51ak带你看MYSQL5.7源码2:编译 ...
- 去除Vue在WebStorm中报命名空间的错误
Preferences -> Editor -> Inspections找到XML,把 Unbound XML namespace prefix的勾去掉
- 上传到 App Store 时出错。
Try this, it fixed it for me. Open Terminal and run: cd ~ mv .itmstransporter/ .old_itmstransporte ...
- .NET Core快速入门教程 4、使用VS Code开发.NET Core控制台应用程序
一.前言 为什么选择VS Code?VS Code 是一款跨平台的代码编辑器,想想他的哥哥VS,并是微软出品的宇宙第一IDE,那作为VS的弟弟,VS Code 也不会差,毕竟微软出品.反正ken是这么 ...
- The Beginning of the Graph Theory
The Beginning of the Graph Theory 是的,这不是一道题.最近数论刷的实在是太多了,我要开始我的图论与树的假期生活了. 祝愿我吧??!ShuraK...... poj18 ...
- 导入TensorFlow报错
C:\....\Anaconda3\envs\py35\lib\site-packages\h5py\__init__.py:36: FutureWarning: Conversion of the ...