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是 ...
随机推荐
- Rotational Region CNN
R2CNN 论文Rotational Region CNN for Orientation Robust Scene Text Detection与RRPN(Arbitrary-Oriented Sc ...
- 【Unity与23种设计模式】命令模式(Command)
GoF中定义: "将请求封装成为对象,让你可以将客户端的不同请求参数化,并配合队列.记录.复原等方法来执行请求的操作." 实现命令模式的标准在于: 当请求被对象化后,对于请求对象是 ...
- OCR技术浅探:基于深度学习和语言模型的印刷文字OCR系统
作者: 苏剑林 系列博文: 科学空间 OCR技术浅探:1. 全文简述 OCR技术浅探:2. 背景与假设 OCR技术浅探:3. 特征提取(1) OCR技术浅探:3. 特征提取(2) OCR技术浅探:4. ...
- 无法获得数据库 'model' 上的排他锁 解决方法
解决方法: 在查询分析器中运行如下代码即可: declare @sql varchar(100) while 1=1 begin select top 1 @sql = 'kill '+cast(sp ...
- Python3数据库模块(sqlite3,SQLite3)
一.sqlite命令 创建数据库:在控制台sqlite3 name .databases 查看数据库 .tables 查看表格名 databaseName .dump & ...
- 1-1 struts2 基本配置 struts.xml配置文件详解
详见http://www.cnblogs.com/dooor/p/5323716.html 一. struts2工作原理(网友总结,千遍一律) 1 客户端初始化一个指向Servlet容器(例如Tomc ...
- 使用jitpack来获取github上的开源项目
在开发中我们需要经常使用第三方依赖库,在构建工具Gradle或maven中声明依赖, 大部分使用的是maven中心仓库或者阿里云仓库等等,但是这样也存在一个问题,上述仓库的库虽然简单快捷好用,但并不是 ...
- Spring - JPA 一对一, 一对多, 多对多关联
现在有三个类:One Many Much One类 Much类 @Entity public class Much { @Id @GeneratedValue private Integer id; ...
- shell 文本操作命令
vi 编辑器中有三种状态模式 [vi 文件名(或路径+文件名)] 1.命令模式 2.输入模式 3.末行模式 三种模式间的相互转换 vi编辑器的启动与退出 直接进入编辑环境 $ vi 进入编辑环境并打 ...
- 【Flask】 利用uWSGI和Nginx发布Flask应用
因为Flask比较容易上手,之前也拿flask写过几个小项目,不过当时天真地以为只要在服务器上nohup跑一个python脚本就算是成功发布了这个flask项目.实际上这还面临很多问题,比如并发性不好 ...