jQuery实现表格行的动态增加与删除(改进版)
之前写过一个简单的利用jQuery实现表格行的动态增加与删除的例子,有些人评论说"如果表格中是input元素,那么删除后的东西都将自动替换,这样应该是有问题的,建议楼主改进!",故特意改进了一下!
在项目中很多时候遇到这样的问题,需要动态的增加、删除表格的行,很多情况下我们都是在页面来设置一个隐藏域的值,然后在js方法里动态的++或--,在学习jQuery的过程中,我试着用简单的方法来模拟实现这一个过程
效果图如下:
删除之前
删除2行后:
改进后具体代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">2
<html xmlns="http://www.w3.org/1999/xhtml">3
<head>4
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />5
<script type="text/javascript" src="jquery-1.3.1.js"></script>6
<title></title>7
<script>8
    $(document).ready(function(){9
        //<tr/>居中10
        $("#tab tr").attr("align","center");11
        12
        //增加<tr/>13
        $("#but").click(function(){14
            var _len = $("#tab tr").length;        15
            $("#tab").append("<tr id="+_len+" align='center'>"16
                                +"<td>"+_len+"</td>"17
                                +"<td>Dynamic TR"+_len+"</td>"18
                                +"<td><input type='text' name='desc"+_len+"' id='desc"+_len+"' /></td>"19
                                +"<td><a href=\'#\' onclick=\'deltr("+_len+")\'>删除</a></td>"20
                            +"</tr>");            21
        })    22
    })23
    24
    //删除<tr/>25
    var deltr =function(index)26
    {27
        var _len = $("#tab tr").length;28
        $("tr[id='"+index+"']").remove();//删除当前行29
        for(var i=index+1,j=_len;i<j;i++)30
        {31
            var nextTxtVal = $("#desc"+i).val();32
            $("tr[id=\'"+i+"\']")33
                .replaceWith("<tr id="+(i-1)+" align='center'>"34
                                +"<td>"+(i-1)+"</td>"35
                                +"<td>Dynamic TR"+(i-1)+"</td>"36
                                +"<td><input type='text' name='desc"+(i-1)+"' value='"+nextTxtVal+"' id='desc"+(i-1)+"'/></td>"37
                                +"<td><a href=\'#\' onclick=\'deltr("+(i-1)+")\'>删除</a></td>"38
                            +"</tr>");39
        }    40
        41
    }42
</script>43
</head>44
<body>45
    46
    <table id="tab" border="1" width="60%" align="center" style="margin-top:20px">47
        <tr>48
            <td width="20%">序号</td>49
            <td>标题</td>50
            <td>描述</td>51
            <td>操作</td>52
       </tr>53
    </table>54
    <div style="border:2px; 55
                border-color:#00CC00; 56
                margin-left:20%;57
                margin-top:20px">58
        <input type="button" id="but" value="增加"/>59
    </div>60
</body>61
</html>jQuery实现表格行的动态增加与删除(改进版)的更多相关文章
- jQuery实现表格行的动态增加与删除
		
删除之前删除2行后: 1<script> 8 $(document).ready(function(){ 9 //<tr/>居中 10 $("#tab tr" ...
 - jQuery实现表格行的动态增加与删除 序号 从 1开始排列
		
<table id="tab" border="1" width="60%" align="center" sty ...
 - jquery实现表格行的动态增加和删除
		
$("#Addmaterial").click(function () {//Addmaterial是增加按钮的ID $("#tab tr").attr(&qu ...
 - jquery动态增加或删除tr和td【实际项目】
		
难点: (1)动态增加.删除tr和td (2)每天tr和td都有下标,且下标要动态变化, (3)tr和td为什么下标不能随便写,原因是此处需要把所有tr中的数据以list的形式发送到后台对象中,所有每 ...
 - jQuery实现表格行上移下移和置顶
		
jQuery实现表格行上移下移和置顶 我们在操作列表数据的时候,需要将数据行排列顺序进行调整,如上移和下移行,将行数据置顶等,这些操作都可以在前端通过点击按钮来完成,并且伴随着简单的动态效果,轻松实现 ...
 - JQuery实现表格行的上移、下移、删除、增加
		
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%&g ...
 - jquery更改表格行顺序实例
		
使用jquery写的更改表格行顺序的小功能 表格部分: 复制代码代码如下: <table class="table" id="test_table"> ...
 - hdfs以及hbase动态增加和删除节点
		
一个知乎上的问题:Hbase的Region server和hadoop的datanode是否可以部署在一台服务器上?如果是的话,二者是否是一对一的关系?部署在同一台服务器上,可以减少数据跨网络传输的流 ...
 - 基于Bootstrap使用jQuery实现输入框组input-group的添加与删除-改进版
		
上一次说到了基于Bootstrap使用jQuery实现输入框组input-group的添加与删除 ,初始状态下只有一个输入框组,可以通过点击输入框组的右侧“+”(或自定义的文字)可以在原输入框组的下面 ...
 
随机推荐
- python数据结构算法学习自修第一天【数据结构与算法引入】
			
1.算法引入: #!/usr/bin/env python #! _*_ coding:UTF-8 _*_ from Queue import Queue import time que = Queu ...
 - python3高级编程
			
1. SMTP发送邮件 internet相关协议: http:网页访问相关,httplib,urllib,xmlrpclib ftp:文件传输相关, ftplib, urllib nntp:新闻和帖子 ...
 - Hotspot Java虚拟机的类加载器
			
从Java虚拟机角度来讲,有两种类加载器.1.启动类加载器.(Bootstrap ClassLoader,C++)2.所有其他类加载器.(Java,java.lang.ClassLoader) 系统提 ...
 - ES 6 系列 - 变量声明
			
let 和 const let 声明 (一)基本用法 let 声明的变量只在块级作用域内有效,出了该块则报错,最常见且适合的地方在 for 循环中: var a = []; for (var i = ...
 - How to enable flash on Chromium
			
sudo apt install chromium-browser pepperflashplugin-nonfree
 - 训练赛-Eyad and Math
			
题意:给你四个数,求出a^b是否小于c^d,是的话输出<,否则输出>; 思路:因为数据很大,所以我们需要降低数据的规模,比如用一个log10()函数,这就能解决了,注意,要用scanf输入 ...
 - gym-101350H
			
题意:给你一个字符串,判断是否为镜像串,镜像串的定义:是一个回文串且只能由对称的字母组成,比如W,M,这些,因为要镜像对称: 解题思路:首先判断一下这个字符串是不是全由对称字母组成,不是就不用继续了, ...
 - form-layui
			
html <div id="formData"> <form class="layui-form formBtn" style="m ...
 - redis哨兵集群+spring boot 2.×
			
Ubuntu集群构建篇 redis-cli:不跟参数,默认访问localhost:6379端口,无密码登陆 redis-cli -h ${host} -p ${port} -a ${password} ...
 - 洛谷P1226 【模板】快速幂||取余运算
			
题目描述 输入b,p,k的值,求b^p mod k的值.其中b,p,k*k为长整型数. 输入输出格式 输入格式: 三个整数b,p,k. 输出格式: 输出“b^p mod k=s” s为运算结果 S1: ...