javascript相关的增删改查以及this的理解
前两天做了一个有关表单增删改查的例子,现在贴出来。主要是想好好说一下this。
下面贴一张我要做的表格效果。

就是实现简单的一个增删改查。
1、点击增加后自动增加一行;
2、点击保存当前行会将属性改成只读属性;
3、点击编辑会自动编辑,input的属性会变成可读可写属性;
4、点击删除会出现弹框,确定该条是否会删除。
下面贴出代码,不要很激动哦,哈哈!
提前说一下,代码是基于jquery以及bootstrap的,以下有用到该框架的js以及css
HTML代码:
<table class="one">
<tr>
<td style="width:100%">
<a href="" class="sbtn add addone" data-toggle="modal" data-target="#myadd" >增加</a>
</td>
</tr>
</table>
<table class="tabb two"> <tbody>
<tr> <td>险别</td>
<td>损失标的</td>
<td>定损金额</td>
<td>备注</td>
<td>操作</td>
</tr>
<tr class="trsec">
<td><select name="" id=""><option value="111" readonly="readonly">111</option><option value="222" readonly="readonly">222</option></select></td>
<td><select name="" id="" disabled="disabled"><option value="" >损失标的一</option>
<option value="">损失标的二</option></select></td>
<td><input type="text" readonly="readonly" value="111"/><span></span></td>
<td><input type="text" readonly="true" class="ccc" value="222"/></td>
<td>
<a href="javascript:;" class="sbtn save">保存</a><a href="javascript:;" class="sbtn edit">编辑</a><a class="sbtn delete deleteone" data-toggle="modal" data-target=".mydelete">删除</a>
</td>
</tr> </tbody>
</table>
<!-- 这里是删除的弹框Modal -->
<div class="modal fade mydelete" tabindex="-1" role="dialog" >
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
</div>
<div class="modal-body">
确定要删除吗?
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default sure" data-dismiss="modal">确定</button>
<button type="button" class="btn btn-primary cancel" data-dismiss="modal">取消</button>
</div>
</div>
</div>
</div>
下面插入js代码:
function save(){
//点击保存按钮进行编辑
$(".save").on("click",function(){
//alert(222);
//debugger
$(this).parents(".trsec").find("input,select").css("border","1px solid #fff");
$(this).parents(".trsec").find("input,select").attr("readonly",true);
$(this).parents(".trsec").find("select").attr("disabled",true);
});
};
save();
function edit(){
//点击编辑按钮进行编辑
$(".edit").on("click",function(){
//debugger
//alert(111);
$(this).parents(".trsec").find("input,select").css("border","1px solid #ccc");
$(this).parents(".trsec").find("input").attr("readonly",false);
$(this).parents(".trsec").find("select").attr("disabled",false);
});
};
edit();
//点击删除按钮出现弹框
function deletea(){
$(".deleteone").on("click",function(){
var _this = $(this);
$(".sure").on("click",function(){
// alert(2222);
// $(".mydelete").modal("hide");
_this.parents(".trsec").remove();
});
$(".cancel").on("click",function(){
$(".mydelete").modal("hide");
})
});
}
deletea();
//定损信息点击增加按钮的样式
$(".addone").on("click",function(){
var str='<tr class="trsec">'+
'<td><select name="" id=""><option value="">111</option></select></td>'+
'<td><select name="" id=""><option value="">损失标的一</option><option value="">损失标的二</option></select></td>'+
'<td><input type="text" /></td>'+
'<td><input type="text" /></td>'+
'<td><a class="sbtn save">保存</a><a class="sbtn edit" >编辑</a><a class="sbtn delete deleteone" data-toggle="modal" data-target=".mydelete"><span class="icon-delete"></span>删除</a></td>'+
'</tr>';
$(".two tbody").append(str);
//console.log(document.getElementsByClassName("edit"));
edit();
//点击保存按钮进行编辑
save();
deletea();
});
这里我想重点说的是两个问题.
一:删除这块,this的问题,on()事件委派
//点击删除按钮出现弹框
function deletea(){
$(".deleteone").on("click",function(){
var _this = $(this);
$(".sure").on("click",function(){
_this.parents(".trsec").remove();
});
$(".cancel").on("click",function(){
$(".mydelete").modal("hide");
})
});
}
_this此时指的就是当前的deleteone,。sure的点击的时候,这里的_this 指的就是当前的那个.deleteone.
javascript相关的增删改查以及this的理解的更多相关文章
- javascript生成表格增删改查 JavaScript动态改变表格单元格内容 动态生成表格 JS获取表格任意单元格 javascript如何动态删除表格某一行
jsp页面表格布局Html代码 <body onload="show()"> <center> <input type="text" ...
- 用 JS(JavaScript )实现增删改查
JS小例题 学习内容: 需求 总结: 学习内容: 需求 用 JavaScript 实现简单增删改查 实现代码 <!DOCTYPE html PUBLIC "-//W3C//DTD HT ...
- JavaScript HTML DOM增删改查
首先 js 可以修改HTML中的所有元素和属性,它还可以改变CSS样式,并且可以监听到所有事件并作出响应,这篇笔记呢 主要记录如何对HTML元素进行增删改查. 1 查找DOM 第一种方式是我们最常用的 ...
- yii2增删改查及AR的理解
yii2增删改查 // 返回 id 为 1 的客户 $customer = Customer::findOne(1); // 返回 id 为 1 且状态为 *active* 的客户 $customer ...
- JavaScript数组:增删改查、排序等
直接上代码 // 数组应用 var peoples = ["Jack","Tom","William","Tod",&q ...
- Struts2增删改查(自己思路理解)
1:查询所有: DAO层:把所有的信息都放到list集合中.然后返回. public List<Employee> getEmployees(){ return new ArrayList ...
- springboot(十五):springboot+jpa+thymeleaf增删改查示例
这篇文章介绍如何使用jpa和thymeleaf做一个增删改查的示例. 先和大家聊聊我为什么喜欢写这种脚手架的项目,在我学习一门新技术的时候,总是想快速的搭建起一个demo来试试它的效果,越简单越容易上 ...
- springboot+jpa+thymeleaf增删改查的示例(转)
这篇文章介绍如何使用jpa和thymeleaf做一个增删改查的示例. 先和大家聊聊我为什么喜欢写这种脚手架的项目,在我学习一门新技术的时候,总是想快速的搭建起一个demo来试试它的效果,越简单越容易上 ...
- (转)Spring Boot (十五): Spring Boot + Jpa + Thymeleaf 增删改查示例
http://www.ityouknow.com/springboot/2017/09/23/spring-boot-jpa-thymeleaf-curd.html 这篇文章介绍如何使用 Jpa 和 ...
随机推荐
- [Java复习] 多线程&并发 知识点补充
0. wait/notify/notifyAll的理解? wait:让持有该对象锁的线程等待: notify: 唤醒任何一个持有该对象锁的线程: notifyAll: 唤醒所有持有该对象锁的线程: 它 ...
- PHP拼多多模式,砍价免费拿商品算法
我12年开始做网站,对拼多多关注两三年了,一直对他们的拉新模式很感兴趣,下面我对砍价送礼品的算法跟大家分享下. 拼多多砍价免费拿商品有几个核心的东西: 1.需要拉新多人给商品,这个是直接在数据库配 ...
- Mybatis中表名当做变量
做业务时,有时候会遇到不同SQL语句之中,只有使用的表名不用而已,其他参数和取得值都是一样的情况.这种时候必然想到把表名当做一个变量传到共通的SQL语句中. 当然正常的传入参数的方式#{param}肯 ...
- Linux 查看CPU和内存的使用情况
Linux 查看CPU和内存的使用情况 如何查看Linux机器的CPU和内存的使用情况. 可以通过如下方式: 1.查看CPU和内存的实时使用情况 使用如下命令: top 命令执行后,效果如下(资源的使 ...
- CentOS8 使用 aliyun 阿里云 镜像站点的方法
CentOS8现已可使用国内的aliyun阿里云镜像站,方法如下: 用cd命令切换到yum.repos目录,备份原始的3个repo文件:cd /etc/yum.repos.d/sudo cp Cent ...
- weblogic密码重置----未做成
1.备份DefaultAuthenticatorInit.ldift文件 [root@test4 ~]# find / -name DefaultAuthenticatorInit.ldift /ap ...
- spark-on-yarn 学习
1. hdfs存文件的时候会把文件切割成block,block分布在不同节点上,目前设置replicate=3,每个block会出现在3个节点上. 2. Spark以RDD概念为中心运行,RDD代表抽 ...
- dfs入门-cogs1640[黑白图像]
题目链接:http://cogs.pro:8081/cogs/problem/problem.php?pid=vxSmxkeqa [题目描述] 输入一个n×n的黑白图像(1表示黑色,0表示白色),任务 ...
- 【Abode Air程序开发】Flex air文件打包和运行
1 安装Adobe AIR 运行时,和java的JVM类似. Adobe AIR 运行时允许在桌面运行AIR应用程序,脱离游览器的束缚. 下载安装文件http://get.adobe.com/cn/a ...
- 【并行计算-CUDA开发】#pragma unroll伪编译指令的使用
#pragma宏命令主要是改变编译器的编译行为,其他的参数网上资料比较多,我只想简单说下#pragma unroll的用法,因为网上的资料比较少,而且说的比较笼统,请看下面的一段代码 int main ...