js 根据数组分组动态生成table(相同项合并)
2012-02-23 23:37
751 查看
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title> New Document </title> <script> //xxbh:学校编号,bjbh:班级编号,xx:姓名 var arrJson=[ {'xxbh':'1001','bjbh':'0801','xx':'李四'},{'xxbh':'1001','bjbh':'0802','xx':'张三'}, {'xxbh':'1003','bjbh':'0803','xx':'王五'},{'xxbh':'1003','bjbh':'0804','xx':'晶晶'}, {'xxbh':'1005','bjbh':'0701','xx':'亮亮'},{'xxbh':'1002','bjbh':'0701','xx':'明敏'}, {'xxbh':'1005','bjbh':'0701','xx':'张灿'},{'xxbh':'1002','bjbh':'0801','xx':'小白'}, {'xxbh':'1005','bjbh':'0802','xx':'小胖'},{'xxbh':'1002','bjbh':'0901','xx':'小丽'}, {'xxbh':'1003','bjbh':'0901','xx':'阿宝'},{'xxbh':'1004','bjbh':'0901','xx':'王泰'}, {'xxbh':'1001','bjbh':'0901','xx':'阿毛'},{'xxbh':'1006','bjbh':'0901','xx':'李铭'}, {'xxbh':'1005','bjbh':'0901','xx':'阿城'},{'xxbh':'1004','bjbh':'0901','xx':'张晓'}, {'xxbh':'1006','bjbh':'0901','xx':'小小'},{'xxbh':'1004','bjbh':'0901','xx':'白昼'}, {'xxbh':'1002','bjbh':'0901','xx':'乐乐'},{'xxbh':'1001','bjbh':'0901','xx':'黎明'} ]; function creatMapByXxbh(arrJson){ var xxbhMap={}; var len = arrJson.length; for(var i=0;i<len;i++){ if(xxbhMap[arrJson[i].xxbh] == undefined){ var list = []; list.push(arrJson[i]); xxbhMap[arrJson[i].xxbh] = list; }else{ xxbhMap[arrJson[i].xxbh].push(arrJson[i]); } } var str="<table border='1'><tr><td width='200'>学校编号</td><td width='200'>班级</td><td width='200'>姓名</td></tr>"; for(var xxbh in xxbhMap){ var stu = xxbhMap[xxbh]; alert(stu.length); str+="<tr><td rowspan='"+stu.length+"'>"+xxbh+"</td>"; for(var i = 0;i < stu.length;i++){ //document.write(xxbh + " "+stu[i].bjbh+" "+stu[i].xx +"<br />") //document.write("<table><tr><td>学校编号</td><td>班级</td><td>姓名</td></tr></table> ") if(i==0){ str+="<td>"+stu[i].bjbh+"</td><td>"+stu[i].xx+"</td></tr>"; }else{ str+="<tr><td>"+stu[i].bjbh+"</td><td>"+stu[i].xx+"</td></tr>"; } } str+="<tr ><td colspan='3'>"+xxbh+"共有"+stu.length+"个班级</td></tr>" } str+="</table> "; document.write(str) } </script> </head > <body> <button onclick='creatMapByXxbh(arrJson)'>测试</button> </body> </html>
相关文章推荐
- js 根据数组分组动态生成table(相同项合并)
- js数组工具处理之合并相同字段分组
- js动态分组合并table
- js根据json对象数组动态生成表格
- php数组根据某一个键值,把相同键值的合并生成一个新的二维数组
- php数组根据某一个键值,把相同键值的合并生成一个新的二维数组
- php数组根据某一个键值,把相同键值的合并生成一个新的二维数组
- 数组对象根据某个值相同合并分组
- php数组实现根据某个键值将相同键值合并生成新二维数组的方法
- JS根据数组中对象的时间依据相同的类型分组
- js动态的合并table的单元格
- php数组如何根据相同值再分组
- 数组分组 二维数组中,将某个键值相同的合并到一个数组
- js合并td根据后台返回动态数据
- js对table的td进行相同内容合并示例详解
- js通过后台配置动态生成html table表格
- angularjs+bootstrapTable为动态生成的代码添加事件
- js中比较两个数组中是否含有相同的元素,可去重,可删除合并为新数组
- js实现表格table相同列合并
- php两个数组合并在一起,根据两个数组相同的键进行排序(时间排序)