jquery动态合并行

问题描述

<!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><html><head><metahttp-equiv="Content-Type"content="text/html;charset=UTF-8"><title>添加成品模板</title><scripttype="text/javascript"src="scripts/jquery-1.9.1.min.js"></script><linkhref="css/css.css"rel="stylesheet"/><style>#re_table{border-collapse:collapse;backgrouad_color:#eaf5ff;}#re_tabletd,th{border:#9999991pxsolid;}#ys_table{border-collapse:collapse;backgrouad_color:#eaf5ff;}#ys_tabletd,th{border:#9999991pxsolid;}</style></head><body><tablewidth="600"id="re_table"><thead><tr><th>产品编号</th><th>产品名称</th><th>计量单位</th><th>产品价格</th><th>供应商</th></tr></thead><tbodyid="tb_body_selected"></tbody></table></div></div></body><scripttype="text/javascript">$(document).ready(function(){varjson=[{code:'001',name:'螺丝',unit:'个',price:5,factory:'艾玛特'},{code:'001',name:"螺帽",unit:'个',price:3,factory:'艾玛特'},{code:'002',name:'尺子',unit:'支',price:2,factory:'艾玛特'},{code:'003',name:'钢笔',unit:'支',price:7,factory:'艾玛特'},{code:'003',name:'铅笔',unit:'支',price:7,factory:'艾玛特'},{code:'003',name:'毛笔',unit:'支',price:7,factory:'艾玛特'},];$(json).each(function(){$("#tb_body_selected").append("<tr>"+"<td>"+this.code+"</td>"+"<td>"+this.name+"</td>"+"<td>"+this.unit+"</td>"+"<td>"+this.price+"</td>"+"<td>"+this.factory+"</td>"+"</tr>");});});</script>

效果如下:想实现图片上的效果就是根据code,如果code相同的话就合并行我该怎么实现啊

解决方案

本帖最后由 yupl358301074 于 2014-09-08 12:51:28 编辑
解决方案二:
我这里不知道为什么中文汉字都是乱码,都用拼音代替了,你看下:代码:<!DOCTYPEhtml><htmlxmlns="http://www.w3.org/1999/xhtml"><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><title>Product</title><style>#re_table{border-collapse:collapse;backgrouad_color:#eaf5ff;}#re_tabletd,th{border:#9999991pxsolid;}#ys_table{border-collapse:collapse;backgrouad_color:#eaf5ff;}#ys_tabletd,th{border:#9999991pxsolid;}</style><scripttype="text/javascript"src="../js/jquery-1.10.2.min.js"></script><scripttype="text/javascript">$(document).ready(function(){vararr=newArray();vararrSum=newArray();varindex=0;varjson=[{code:'001',name:'luosi',unit:'ge',price:5,factory:'B/S'},{code:'001',name:'luomao',unit:'ge',price:3,factory:'B/S'},{code:'002',name:'chizhi',unit:'ge',price:2,factory:'B/S'},{code:'003',name:'gangbi',unit:'ge',price:7,factory:'B/S'},{code:'003',name:'qianbi',unit:'ge',price:7,factory:'B/S'},{code:'003',name:'maobi',unit:'ge',price:7,factory:'B/S'},{code:'001',name:'luoding',unit:'ge',price:3,factory:'B/S'},];$(json).each(function(){varisHave=false;if(arr!=null&&arr.length>0){for(vari=0;i<arr.length;i++){if(arr[i]==this.code){isHave=true;break;}}}if(isHave){returntrue;}arr[index++]=this.code;});for(vari=0;i<arr.length;i++){varsum=0;$(json).each(function(){if(this.code==arr[i]){sum=sum+1;}});arrSum[i]=sum;}for(vari=0;i<arr.length;i++){varisTrue=true;$(json).each(function(){if(arr[i]==this.code){if(isTrue){$("#tb_body_selected").append("<tr>"+"<tdrowspan="+arrSum[i]+">"+this.code+"</td>"+"<td>"+this.name+"</td>"+"<td>"+this.unit+"</td>"+"<td>"+this.price+"</td>"+"<td>"+this.factory+"</td>"+"</tr>");isTrue=false;}else{$("#tb_body_selected").append("<tr>"+"<td>"+this.name+"</td>"+"<td>"+this.unit+"</td>"+"<td>"+this.price+"</td>"+"<td>"+this.factory+"</td>"+"</tr>");}}});}});</script></head><body><tablewidth="600"id="re_table"><thead><tr><th>ProductCode</th><th>ProductName</th><th>ProductType</th><th>ProductPrice</th><th>Desperation</th></tr></thead><tbodyid="tb_body_selected"></tbody></table></div></div></body></html>
解决方案三:
上面的代码没有注释,下面的代码是我加了注释的:<!DOCTYPEhtml><htmlxmlns="http://www.w3.org/1999/xhtml"><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><title>Product</title><style>#re_table{border-collapse:collapse;backgrouad_color:#eaf5ff;}#re_tabletd,th{border:#9999991pxsolid;}#ys_table{border-collapse:collapse;backgrouad_color:#eaf5ff;}#ys_tabletd,th{border:#9999991pxsolid;}</style><scripttype="text/javascript"src="../js/jquery-1.10.2.min.js"></script><scripttype="text/javascript">$(document).ready(function(){vararr=newArray();//用于标记有多少个不重复的编码vararrSum=newArray();//相同编码的有多少个,用于跨行varindex=0;varjson=[{code:'001',name:'luosi',unit:'ge',price:5,factory:'B/S'},{code:'001',name:'luomao',unit:'ge',price:3,factory:'B/S'},{code:'002',name:'chizhi',unit:'ge',price:2,factory:'B/S'},{code:'003',name:'gangbi',unit:'ge',price:7,factory:'B/S'},{code:'003',name:'qianbi',unit:'ge',price:7,factory:'B/S'},{code:'003',name:'maobi',unit:'ge',price:7,factory:'B/S'},{code:'001',name:'luoding',unit:'ge',price:3,factory:'B/S'},];$(json).each(function(){//筛选出所有不重复的编码,保存在数组中varisHave=false;//是否跳出本次玄幻if(arr!=null&&arr.length>0){for(vari=0;i<arr.length;i++){if(arr[i]==this.code){isHave=true;break;}}}if(isHave){returntrue;//each调出循环returnfalse-退出循环,相当于break;}arr[index++]=this.code;});for(vari=0;i<arr.length;i++){//相同编码的总数,用于跨行,存放在相应的数组中varsum=0;$(json).each(function(){if(this.code==arr[i]){sum=sum+1;}});arrSum[i]=sum;}for(vari=0;i<arr.length;i++){//循环遍历出来varisTrue=true;//是否是第一次打印$(json).each(function(){if(arr[i]==this.code){//把相同编号的数据取出来if(isTrue){//是第一次打印$("#tb_body_selected").append("<tr>"+"<tdrowspan="+arrSum[i]+">"+this.code+"</td>"//跨行+"<td>"+this.name+"</td>"+"<td>"+this.unit+"</td>"+"<td>"+this.price+"</td>"+"<td>"+this.factory+"</td>"+"</tr>");isTrue=false;}else{//已经打印过了$("#tb_body_selected").append("<tr>"+"<td>"+this.name+"</td>"+"<td>"+this.unit+"</td>"+"<td>"+this.price+"</td>"+"<td>"+this.factory+"</td>"+"</tr>");}}});}});</script></head><body><tablewidth="600"id="re_table"><thead><tr><th>ProductCode</th><th>ProductName</th><th>ProductType</th><th>ProductPrice</th><th>Desperation</th></tr></thead><tbodyid="tb_body_selected"></tbody></table></div></div></body></html>
解决方案四:
如果code和上一个code相等,rowsspan++

时间: 2024-11-08 22:29:06

jquery动态合并行的相关文章

jquery动态更换网页背景图的方法

 这篇文章主要介绍了jquery动态更换网页背景图的方法,需要的朋友可以参考下 有些时候,我们可以为用户提供很贴心的功能,比如判断用户是什么时候来访问的,然后给出一句问候,晚上好,下午好之类的.并且更换网页的背景颜色,比如晚上的时候就可以用满天星星的背景,白天就用阳光灿烂,或者特定节日就用该主题背景,让你的网站显得非常灵活,不枯燥.   下面就如何实现背景更换给出一种解决方法:   如何实现   很简单,下面是 JQuery 代码:    代码如下: function doChangeBkg()

jquery动态加载js三种方法

 <!-- 这里为你提供了三种动态加载js的jquery实例代码哦,由于jquery是为用户提供方便的,所以利用jquery动态加载文件只要一句话$.getscript("test.js");就ok了. <!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd&qu

jquery动态增加text元素以及删除文本内容实例代码

这段代码是通过jquery动态增加限定数额的text(本例为5个) ,以及清除文本内容,用到了after()方法追加元素. <!--以下为script代码开始--> 复制代码 代码如下: <script> $(document).ready(function(){ var spotMax = 5;//限定添加text元素的总个数 var afterId = 0;//要追加元素的id var newId=1;//新生成text的id if($('table#vote').size()

jquery动态添加删除div 具体实现

这篇文章介绍了jquery动态添加删除div实现代码,有需要的朋友可以参考一下   复制代码 代码如下: <script type="text/javascript" src="jquery.js"></script> <body> <form action="" method="post" enctype="multipart/form-data"> <

Jquery动态添加输入框的方法

  本文实例讲述了Jquery动态添加输入框的方法.分享给大家供大家参考.具体实现方法如下: ? 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 54 55 56 <!-- 页头 --> <#include "../common/

原生JS和JQuery动态添加、删除表格行的方法

  本文实例讲述了原生JS和JQuery动态添加.删除表格行的方法.分享给大家供大家参考.具体分析如下: 下面HTML代码作用:提交一个表单,将复选框的值提交(复选框的值等于后面的文本框,复选框和文本框处在同一行,可以动态添加和删除). 原生态JS版: ? 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 4

jquery动态加载js三种方法实例

这里为你提供了三种动态加载js的jquery实例代码哦,由于jquery是为用户提供方便的,所以利用jquery动态加载文件只要一句话$.getScript("test.js");就OK了.   复制代码 代码如下: <!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dt

jquery动态添加option选项

 jquery动态添加option选项,还有动态删除的方法,大家参考使用吧 jquery动态添加option   js动态添加option 代码如下: var sel= document.getElementById("Selected1");  sel.options.add(new Option("请选择","")); sel.options.add(new Option("name","id"));

JQuery动态添加和删除表格行的方法

 这篇文章主要介绍了JQuery动态添加和删除表格行的方法,实例分析了jQuery中动态操作表格行的技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了JQuery动态添加和删除表格行的方法.分享给大家供大家参考.具体分析如下: 昨天做页面表格行动态添加和删除,看了无数的介绍,发现了一个好东东,JQuery.用它实现起来还真的是很方便,这个是我用到我们平台的一个方法. 代码如下: //记录添加行数 var areaCount=1; //记录实际表格行数 var rowCoun