前两天做了一个有关表单增删改查的例子,现在贴出来。主要是想好好说一下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">&times;</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的理解的更多相关文章

  1. javascript生成表格增删改查 JavaScript动态改变表格单元格内容 动态生成表格 JS获取表格任意单元格 javascript如何动态删除表格某一行

    jsp页面表格布局Html代码 <body onload="show()"> <center> <input type="text" ...

  2. 用 JS(JavaScript )实现增删改查

    JS小例题 学习内容: 需求 总结: 学习内容: 需求 用 JavaScript 实现简单增删改查 实现代码 <!DOCTYPE html PUBLIC "-//W3C//DTD HT ...

  3. JavaScript HTML DOM增删改查

    首先 js 可以修改HTML中的所有元素和属性,它还可以改变CSS样式,并且可以监听到所有事件并作出响应,这篇笔记呢 主要记录如何对HTML元素进行增删改查. 1 查找DOM 第一种方式是我们最常用的 ...

  4. yii2增删改查及AR的理解

    yii2增删改查 // 返回 id 为 1 的客户 $customer = Customer::findOne(1); // 返回 id 为 1 且状态为 *active* 的客户 $customer ...

  5. JavaScript数组:增删改查、排序等

    直接上代码 // 数组应用 var peoples = ["Jack","Tom","William","Tod",&q ...

  6. Struts2增删改查(自己思路理解)

    1:查询所有: DAO层:把所有的信息都放到list集合中.然后返回. public List<Employee> getEmployees(){ return new ArrayList ...

  7. springboot(十五):springboot+jpa+thymeleaf增删改查示例

    这篇文章介绍如何使用jpa和thymeleaf做一个增删改查的示例. 先和大家聊聊我为什么喜欢写这种脚手架的项目,在我学习一门新技术的时候,总是想快速的搭建起一个demo来试试它的效果,越简单越容易上 ...

  8. springboot+jpa+thymeleaf增删改查的示例(转)

    这篇文章介绍如何使用jpa和thymeleaf做一个增删改查的示例. 先和大家聊聊我为什么喜欢写这种脚手架的项目,在我学习一门新技术的时候,总是想快速的搭建起一个demo来试试它的效果,越简单越容易上 ...

  9. (转)Spring Boot (十五): Spring Boot + Jpa + Thymeleaf 增删改查示例

    http://www.ityouknow.com/springboot/2017/09/23/spring-boot-jpa-thymeleaf-curd.html 这篇文章介绍如何使用 Jpa 和 ...

随机推荐

  1. 用key管理可复用元素

    先看看不用key管理可复用元素的代码.Vue 会尽可能高效地渲染元素,通常会复用已有元素而不是从头开始渲染.这么做,除了使 Vue 变得非常快之外,还有一些有用的好处,那就是在切换input时不会清楚 ...

  2. 映射器Mapping

    1)  org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping(核心) 将程序员定义的Action所对应的<bean& ...

  3. 视图解析器InternalResourceViewResolver

    ModelAndView对象中即可以封装真实视图路径名,也可以封装视图路径的逻辑名,springmvc.xml 代码如下: <!-- 视图解析器(框架) --> <bean clas ...

  4. Java对象和集合的拷贝/克隆/复制

    昨天同事遇到了一个奇怪的问题,他需要将一个JavaBean拷贝一份,然后对新创建的Bean进行操作.但是他对新的Bean操作后,会影响旧的Bean的值.当听到这个问题的时候,我第一反应就是他的拷贝方法 ...

  5. nova创建虚拟机的详细过程

    Nova 创建虚拟机详细过程    

  6. Heartbeat实现web服务器高可用

    一.Heartbeat概述: Heartbeat的工作原理:heartbeat最核心的包括两个部分,心跳监测部分和资源接管部分,心跳监测可以通过网络链路和串口进行,而且支持冗余链路,它们之间相互发送报 ...

  7. [转]html里a标签中href调用js的几种方法

    文章转自:https://blog.csdn.net/best_luxi/article/details/45062301 我们常用的在a标签中有点击事件: 1. a href=”javascript ...

  8. 直连路由onlink

    根据路由器学习路由信息.生成并维护路由表的方法包括直连路由(Direct).静态路由(Static)和动态路由(Dynamic).直连路由:路由器接口所连接的子网的路由方式称为直连路由:非直连路由:通 ...

  9. What happens when you type an URL in the browser and press enter?

    What happens when you type an URL in the browser and press enter? 1. You type maps.google.com into t ...

  10. JAVA_day1_变量和常量

    JAVA变量和常量 一.JAVA中的关键字 注:关键字区分大小写,Try不是关键字而try则是. 二.JAVA标识符 1.标识符:标识符就是用于给 Java 程序中变量.类.方法等命名的符号. 2.标 ...