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是 ...
随机推荐
- [解决]Linux Tomcat启动慢--Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [236,325] milliseconds
一.背景 今天部署项目到tomcat,执行./startup.sh命令之后,访问项目迟迟加载不出来,查看日志又没报错(其实是我粗心了,当时tomcat日志还没打印完),一开始怀疑是阿里云主机出现问题, ...
- [.Net Core] 简单使用 Mvc 内置的 Ioc(续)
简单使用 Mvc 内置的 Ioc(续) 本文基于 .NET Core 2.0. 上一章<[.Net Core] 简单使用 Mvc 内置的 Ioc>已经对日常 Mvc 中的 Ioc 的简单用 ...
- ZFS建池建卷和格式化
建池 zpool create pool_name path -f (例如path=/dev/sdb) zfs set primarycache=metadata pool_name (关闭数据缓存 ...
- Unity3D相机震动效果
在一些格斗.射击以及动作类游戏中 相机震动效果是十分重要的 一个平凡的镜头 在关键时刻加入相机震动后 便可以展现出碰撞.危险.打斗以及激动人心的效果 相机震动的实现方式有很多 但都会涉及摄像机位置的变 ...
- kubernete的证书总结
服务端保留公钥和私钥,客户端使用root CA认证服务端的公钥. kubernetes的证书类型主要分为3类: serving CA: 用于签署serving证书,该证书用于加密https通信.用于签 ...
- 使用kafka connect,将数据批量写到hdfs完整过程
版权声明:本文为博主原创文章,未经博主允许不得转载 本文是基于hadoop 2.7.1,以及kafka 0.11.0.0.kafka-connect是以单节点模式运行,即standalone. 首先, ...
- JS面向对象与面向过程
前言 面向对象编程: 就是将你的需求抽象成一个对象,然后针对这个对象分析其特征(属性)与动作(方法)--这个对象就称之为类 面向过程编程: 特点:封装,就是将你需要的功能放在一个对象里面 ------ ...
- Algorithm --> 两个栈实现队列和两个队列实现栈
两个栈实现队列和两个队列实现栈 队列(queue)先进先出的线性表:栈(stack)先进后出的线性表. 两个栈实现队列 法一思路: s1是入栈的,s2是出栈的. 入队列:直接压入s1即可: 出队列:如 ...
- 如何从零开始学习区块链技术——推荐从以太坊开发DApp开始
很多人迷惑于区块链和以太坊,不知如何学习,本文简单说了一下学习的一些方法和资源. 一. 以太坊和区块链的关系 从区块链历史上来说,先诞生了比特币,当时并没有区块链这个技术和名词,然后业界从比特币中提取 ...
- 【LATEX】个人版latex论文模板
以下是我的个人论文模板,运行环境为Xelatex(在线ide:Sharelatex.com) 鉴于本人常有插入程序的需求,故引用了lstlisting \RequirePackage{ifxetex} ...