<!--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. 【2018沈阳赛区网络预选赛J题】Ka Chang【分块+DFS序+线段树】

    题意 给出一个有根树(根是1),有n个结点.初始的时候每个结点的值都是0.下面有q个操作,操作有两种,操作1.将深度为L的点的值全部增加X.操作2.查询以x为根的子树的结点值得和. 其中N,Q< ...

  2. 【BZOJ2038】小Z的袜子【莫队】

    题意 给出包含n个数字的序列,和m个查询.每次查询问区间[l,r]中挑选出两个数字,大小相同的概率为多少. 分析 莫队的入门题吧.代码是非常好写,关键是时间复杂度的证明.O(n*sqrt(n)).我还 ...

  3. C++——代码运行过程详解

    #include <iostream> using namespace std; ;//初始化的全局变量:保存在数据段 char *p1;//未初始化的全局变量:保存在BSS段 int m ...

  4. ssh的发展历程与基本原理

    一.ssh是什么 SSH(Secure Shell)是一个提供数据通信安全.远程登录.远程指令执行等功能的安全网络协议,最初提出目的是替代非安全的Telnet.rsh.rexec等远程Shell协议. ...

  5. 如何在IIS中承载WCF NetTcpBinding 服务

    这篇博客将介绍如何在IIS中承载NetTcpBinding的服务. 1. 首先准备服务代码. Contract namespace Contract { [ServiceContract] publi ...

  6. DESC和 ACS

    用 DESC 表示按倒序排序(即:从大到小排序)用 ACS 表示按正序排序(即:从小到大排序)

  7. Log4j配置(转)

    原文:http://www.blogjava.net/zJun/archive/2006/06/28/55511.html Log4J的配置文件(Configuration File)就是用来设置记录 ...

  8. [GO]使用select实现超时

    package main import ( "fmt" "time" ) func main() { ch := make(chan int) quit := ...

  9. 【转】jvm 堆内存 栈内存 大小设置

    原文地址:http://blog.csdn.net/qh_java/article/details/46608395 4种方式配置不同作用域的jvm的堆栈内存! 1.Eclise 中设置jvm内存: ...

  10. charCodeAt方法以及Unicode中文汉字编码范围

    js的charCodeAt() 方法可返回指定位置的字符的 Unicode 编码.这个返回值是 0 - 65535 之间的整数. 在字符串 "Hello world!" 中,我们将 ...