Jquery 实现动态添加table tr 和删除tr 以及checkbox的全选 和 获取添加TR删除TR后的数据

关于jquery实现动态添加table tr的问题我也不多说了 上面代码很多地方都有注释的

关于返回的 编辑后的table 数据 我这里想说的是我直接把他保存成一个连接起来的字符串了 格式 str=XXX | XXX | XXX , XXX | XXX | XXX , XXX | XXX | XXX

你也可以保存成对象类型的  我是为了方便后台的操作才这样做的

话不多说直接代码:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>
</title>
<script src="jquery-1.8.2.min.js" type="text/javascript"></script>
<script type="text/javascript" language="javascript">
var count=4;//行数ID后缀
var delid="";//删除的ID
var addid="";//添加ID的前缀
//var a= str.split(",");
function addTr2(tab, row){
    var trHtml="<tr id='row"+count+"' align='center'><td width='20%'> <input id='allCkb"+count
	+"' name='person' value='"+count+"' type='checkbox'/></td><td width='30%'><input type='text' value='"+count+"' id='title"+count
	+"' name=''></td><td width='30%'><input type='text' id='name"+count
	+"' name=''></td><td width='30%'><input type='text' id='sex"+count
	+"' name=''></td></tr>";
    addTr(tab, row, trHtml);
	addid+=count+",";
	count++;
  }
 function addTr(tab, row, trHtml){
     //获取table最后一行 $("#tab tr:last")
     //获取table第一行 $("#tab tr").eq(0)
     //获取table倒数第二行 $("#tab tr").eq(-2)
     var $tr=$("#"+tab+" tr").eq(row);
     if($tr.size()==0){
        alert("指定的table id或行数不存在!");
        return;
     }
     $tr.after(trHtml);
	 }
//全选功能
//name是你点击出发chexbox的name itemname 是你要操作cheeckbox的name
function qcheckbox(name,itemname){
   if($("input[name='"+name+"']:checkbox").attr("checked"))
   $("input[name='"+itemname+"']:checkbox").attr("checked",true);
   else
   $("input[name='"+itemname+"']:checkbox").attr("checked",false);
}
//chname你选择的checbox的name
function del(chname){
	 var chobj= $("input[name='"+chname+"']:checkbox");
     chobj.each(function(){
		 if($(this).attr("checked")){
			 delid += $(this).val()+",";
			 $(this).parent().parent().remove();
		 }
	  })

}
function tableinfo(){
   var delobj= delid.split(",");
   var addobj= addid.split(",");
   var str="";
   for(var i=1;i<=3;i++){
     var title=$('#title'+i).val();
	 var name=$('#name'+i).val();
	 var sex=$('#sex'+i).val();
	 str+=title+"|"+name+"|"+sex+",";
   }
   for(var j=0;j<addobj.length-1;j++){
	   var a=true;
	  for(var k=0;k<delobj.length-1;k++){
	     if(delobj[k]==addobj[j]){
			 a=false;
			 break;
		 }
      }
	  if(a){
        var title=$('#title'+addobj[j]).val();
	    var name=$('#name'+addobj[j]).val();
	    var sex=$('#sex'+addobj[j]).val();
	    str+=title+"|"+name+"|"+sex+",";
	  }
   }
   alert(str);
}
</script>
</head>
<body>
<input type="button" value="Add" id="b1" onclick="addTr2('tab', -3)">
<input type="button" value="Delete" onclick="del('person');">
<input type="button" value="取值" onclick="tableinfo()">
<table id="tab" cellspacing="3" cellpadding="3" border="1">
<tr  align='center'>
    <td width='20%'> <input id="allCkb" onclick="qcheckbox('qperson','person')" type="checkbox" name="qperson"/></td>
	<td width='30%'> 职位</td>
	<td width='30%'> 名称</td>
	<td width='30%'> 分数</td>
</tr>
<tr id="row1"  align='center'>
    <td width='20%'> </td>
	<td width='30%'>联系人<input type="hidden" id="title1"  value="联系人"/></td>
	<td width='30%'><input type="text" id="name1" name=""></td>
	<td width='30%'><input type="text" id="sex1" name=""></td>
</tr>
<tr id="row2" align='center'>
<td width='20%'> </td>
	<td width='30%'>老板<input type="hidden" id="title2"  value="老板"/></td>
	<td width='30%'><input type="text" id="name2" name=""></td>
	<td width='30%'><input type="text" id="sex2" name=""></td>
</tr>
<tr id="row3" align='center'>
<td width='20%'>  </td>
	<td width='30%'>哈哈 <input type="hidden" id="title3"  value="哈哈"/></td>
	<td width='30%'><input type="text" id="name3" name=""></td>
	<td width='30%'><input type="text" id="sex3" name=""></td>
</tr>
<tr align="center">
    <td width="30%" colspan="2">分数合计</td>
    <td width="30%" colspan="2">80</td>
</tr>
<tr align="center">
    <td width="30%" colspan="2">人员合计</td>
    <td width="30%" colspan="2">80</td>
</tr>
</table>
</body>
</html>

注意要把jquery的js引用了 我这里的jquer的JS是和网页放在同一级目录下的

时间: 2024-10-21 10:33:21

Jquery 实现动态添加table tr 和删除tr 以及checkbox的全选 和 获取添加TR删除TR后的数据的相关文章

使用vue.js实现checkbox的全选和多个的删除功能

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 <script> var proData = [{   "name": "j1ax" }, {   "name": "j2ax&

Android高级控件(一)——ListView绑定CheckBox实现全选,添加和删除等功能

Android高级控件(一)--ListView绑定CheckBox实现全选,添加和删除等功能 这个控件还是挺复杂的.也是项目中应该算是比較经常使用的了,所以写了一个小Demo来讲讲,主要是自己定义adapter的使用方法.加了非常多的推断等等等等-.我们先来看看实现的效果吧! 好的,我们新建一个项目LvCheckBox 我们事先先把这两个布局写好吧,一个是主布局,另一个listview的item.xml.相信不用多说 activity_main.xml <LinearLayout xmlns:

JQuery 判断checkbox是否选中,checkbox全选,获取checkbox选中值

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

jquery-防多店铺购物车结算全选,单选,及删除,价格计算

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>购物车结算</title> <style> *{padding::0; margin:0; font-family:"微软雅黑"} .one-shop,.all-total{padding:20px; width:400px; margin:auto} .one-g

【Jquery】checkbox的全选和全不选

刚学Jquery,在做checkbox的全选全不选时遇到了一个问题,使用attr()方法的话, 只能成功全选和取消全选一次,第二次就不行了,如下面 $("#chkAll").click(function(){ if(this.checked==true){ $("#tab input[type='checkbox']").attr("checked",true); }else{ $("#tab input[type='checkbox'

在项目中学习.NET的JQuery CheckBox方法(全选、取消全选、其他)

一.在项目中遇到的CheckBox的全选和取消全选以及其他等解决方案如下: // 对全选和取消全选的事件 $("#CheckAll").click(function () {                var checkedOfAll = $(this).prop("checked");                if (checkedOfAll == true) {                    $("input[id*='check']

全选与反选添加

<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <script src="js/angular.min.js" type="text/javascript" charset="utf-8"></script> <script src="js/jquery.js" type

全选、取消、批量删除

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="IndexSum.aspx.cs" Inherits="Supplier.Later.IndexSum" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3

angular实现表格的全选、单选、部分删除以及全部删除

昨天自己写了一小段js,在全选的时候有点儿小坑,然后,整理了一下.今天把它贴出来,希望以后还记得. 大家也可以去github上查看或下载:https://github.com/dreamITGirl/projectStudy/tree/master/html 我在用angular实现表格的全选时,是给了一个标记--就是一个空数组,每次有个别项选中,我都会push一个数字,当有选项从选中状态到未选中变化时,我就让该数组弹出一个数字.这样就可以实现了.我实现的个别删除和全部删除是从页面删除的,并没有