<!--html结构-->
<div>
<input type="button" value="添加一行" onclick="add_this(this,'table','need_add')">
<table border="1" >
  <tr>
    <th>序号</th>
  <th>姓名</th>
  <th>年龄</th>
  <th>操作</th>
</tr>
<tr name="need_add">
<td>1</td>
<td><input type="text" name="te_name_1" size="10"></td>
<td><input type="text" name="te_age" size="3">
<td><input type="button" value="删除此行" onclick="delete_this(this)"></td>
</tr>
</table>
</div>
/*js方法*/
/**
删除此行元素
v: 删除按钮
*/
function delete_this(v){
var tr=$(v).parent().parent();//找到按钮所在的tr
var tb=$(tr).parent();//找到要操作的table
var l=$(tb).find("tr:[name=need_add]").length;//当前可以操作的行数
if(l>1){
$(tr).remove();//多于1 直接移除
}else{//只剩一条时,置空
$(tr).find("td").each(function(){
$(this).find("input:text").each(function(){
$(this).val("");
});
});
}
if(l>1){
for( var len=1;len<l-1;len++){//tr 多于一条时,移除一条,遍历剩余条数
var e_tr=$(trs)[len];//得到某个tr节点
$(e_tr).find("td")[0].innerText=(len);//修改序号
$($(e_tr).find("td")[1]).find("input")[0].name="te_name_"+len;//修改里面的input值
}
} }
/**
*添加一行元素
v:当前按钮
t:按钮同级的table
name:table中需要复制的tr的name属性
*/
function add_this(v,t,name){
var table=$(v).parent().find(t)[0];//获取同级父元素的下table
var trs=$(table).find("tr:[name="+name+"]");//找到table中需要复制的tr
if(trs.length>0){
var pr_tr=$(trs[trs.length-1]);//最后一个tr
var new_tr=$(pr_tr).clone();//复制,得到新的tr
$(new_tr).find("td").each(function(){//对tr下的每个td
$(this).find("input:text").each(function(){//对td下的input置空
$(this).val("");
});
});
var pr_num=$(pr_tr).find("td")[0].innerText;//得到上一个tr的序号
var new_num=parseInt(pr_num)+1;
var new_td=$(new_tr).find("td")[0];
new_td.innerText =new_num; //修改序号
var new_name=$($(new_tr).find("td")[1]).find("input")[0].name='te_name_'+new_num;//修改name属性
$(pr_tr).after(new_tr); //向后添加
}
}

点击按钮添加一行,和本行的删除功能,序号变动,name属性更改的更多相关文章

  1. 【HTML5】页面点击按钮添加一行 删除一行 全选 反选 全不选

    页面点击按钮添加一行    删除一行   全选   反选  全不选 页面效果图如下 html页面代码 <!DOCTYPE html> <html> <head> & ...

  2. 小生功能贴<一> --- 动态添加应用 具有长按删除功能

    ---恢复内容开始--- 动态添加应用 具有长按删除功能 功能如下图:                (图片显示功能不是你要的,那就默默关闭页面吧) 设计思路: 页面一:用girdview网格显示图标 ...

  3. GrideVlew提供点击按钮添加新数据,单击项目修改,长按删除功能

    package com.example.wang.myapplication; import android.app.AlertDialog; import android.content.Dialo ...

  4. FineUI 点击按钮添加标签页

    <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat=&quo ...

  5. TEXT文本编辑框3 点击按钮添加文本至文本输入框

    In this exercise a function that loads the texts of an internal table into the text window, is imple ...

  6. C#点击按钮添加标签

    <asp:Button ID="button1" runat="server" Text="创建" onclick="But ...

  7. 点击按钮在表格的某一行下,在添加一行(HTML+JS)

    使用js在指定的tr下添加一个新的一行newTr html代码: <table> <tr> <td>用户名:</td> <td><in ...

  8. element+vue点击新增表格内在已有数据添加一行带输入框内容

    在element+vue项目中,需求要表格内已有数据,点击新增在首行添加一行带输入框内容 table的数据为datas=[],那么下面是一列的数据,多列可循环或复制 <el-table-colu ...

  9. JavaScript实现点击按钮弹出输入框,点确定后添加li组件到ul组件里

    JavaScript实现点击按钮弹出输入框,点确定后添加li组件到ul组件里 <!doctype html> <html manifest="lab4.manifest&q ...

随机推荐

  1. Ubuntu设置屏幕分辨率

    Ubuntu设置屏幕分辨率 原创 2016年10月14日 13:01:24 14900 在虚拟机装好Ubuntu,进入系统分辨率是800*600,打开显示界面设置下分辨率,设置完怎么也选不上应用,于是 ...

  2. 深入理解mysql的隔离级别

    建表插入测试数据A> create table test(id int ,num int) ;Query OK, 0 rows affected (0.53 sec) A> insert ...

  3. Java泛型中的通配符

    Java泛型中的通配符可以直接定义泛型类型的参数.而不用把该函数定义成泛型函数. public class GenericsTest { public static void main(String[ ...

  4. 比较C++、Java、Delphi声明类对象时候的相关语法

    同学们在学习的时候经常会遇到一些问题,C++.Java.Delphi他们到底有什么不一样的呢?今天我们来比较C++.Java.Delphi声明类对象时候的相关语法.希望对大家有帮助! C++中创建对象 ...

  5. Auto Encoder

    对自编码器的理解: 对于给定的原始输入x,让网络自动找到一种编码方式(特征提取,原始数据的另一种表达),使其解码后的输出x'尽可能复现原始输入x. 知乎参考:https://www.zhihu.com ...

  6. servlet中如何发送ajax请求并动态拼接数据到html中

    废话不多说,直接上代码 1.servlet 2.js 3.jsp 有不懂得欢迎来扣我哦^_^ 详细介绍请查看全文:https://cnblogs.com/qianzf/ 原文博客的链接地址:https ...

  7. myisam,innodb和memory的区别

    1.myisam,innodb和memory的区别如下: 2:InnoDB存储引擎2.1:InnoDB具有事务,回滚,崩溃修复能力和多版本并发的事务安全2.2:关于InnoDB的auto_increm ...

  8. win10安装MySQL免安装版

    一:下载并解压 这个就不多说了https://dev.mysql.com/downloads/mysql/,简单的很 二:MySQL根目录下新建my.ini [mysql] # 设置mysql客户端默 ...

  9. query.validate.js使用说明+中文API

    转自:http://www.cnblogs.com/hejunrex/archive/2011/11/17/2252193.html 看到一篇好的文章不容易,记录下来以防丢失! 官网地址:http:/ ...

  10. Spark 0.9.1和Shark 0.9.1分布式安装指南

    目录 目录 1 1. 约定 1 2. 安装Scala 1 2.1. 下载 2 2.2. 安装 2 2.3. 设置环境变量 2 3. 安装Spark 2 3.1. 部署 2 3.2. 下载 3 3.3. ...