我点击一个按钮,就对页面中展现出来的table,进行行去重!function table_rowspan(table_id,colnum){
var table_firsttd = "";
var table_currenttd = "";
var table_SpanNum = 0;
var table_Obj = $(table_id + " tr td:nth-child(" +colnum + ")"); //nth-child colnum=1 第一列
table_Obj.each(function(i){
if(i>0){
$(this).css("color","#1E47BC");
}
if(i==0){
table_firsttd = $(this);
table_SpanNum = 1;
}else{
table_currenttd = $(this);
if(table_firsttd.text()==table_currenttd.text()){
table_SpanNum++;
table_currenttd.hide(); //remove();
table_firsttd.attr("rowSpan",table_SpanNum);
table_firsttd.css("background-color","#E8F2FF");
table_firsttd.css("color","#F7A045");
}else{
table_firsttd = $(this);
table_SpanNum = 1;
}
}
});
}上面是我写的 行去重的js代码,我觉得还行吧。
调用:table_rowspan("#showList",1); //传进去 table的id和第几列我现在想实现一个功能就是 ,我点击另一个button,让上面这个行去重的table,恢复原样。
就是没有去重的效果,显示原始table。
var table_id="#showList";
var colnum=1;
var table_Obj = $(table_id + " tr td:nth-child(" +colnum + ")"); //nth-child colnum=1 第一列
table_Obj.each(function(i){
var rowSpan = $(this).attr("rowSpan");
if(rowSpan>1){
$(this).attr("rowSpan",1);
for(var i=1;i<rowSpan;i++){
$(this).appendTo(table_Obj);
}
}
});这样写 不行,浏览器还会卡死。求高人稍微指点迷津,小弟感激不尽。
var table_firsttd = "";
var table_currenttd = "";
var table_SpanNum = 0;
var table_Obj = $(table_id + " tr td:nth-child(" +colnum + ")"); //nth-child colnum=1 第一列
table_Obj.each(function(i){
if(i>0){
$(this).css("color","#1E47BC");
}
if(i==0){
table_firsttd = $(this);
table_SpanNum = 1;
}else{
table_currenttd = $(this);
if(table_firsttd.text()==table_currenttd.text()){
table_SpanNum++;
table_currenttd.hide(); //remove();
table_firsttd.attr("rowSpan",table_SpanNum);
table_firsttd.css("background-color","#E8F2FF");
table_firsttd.css("color","#F7A045");
}else{
table_firsttd = $(this);
table_SpanNum = 1;
}
}
});
}上面是我写的 行去重的js代码,我觉得还行吧。
调用:table_rowspan("#showList",1); //传进去 table的id和第几列我现在想实现一个功能就是 ,我点击另一个button,让上面这个行去重的table,恢复原样。
就是没有去重的效果,显示原始table。
var table_id="#showList";
var colnum=1;
var table_Obj = $(table_id + " tr td:nth-child(" +colnum + ")"); //nth-child colnum=1 第一列
table_Obj.each(function(i){
var rowSpan = $(this).attr("rowSpan");
if(rowSpan>1){
$(this).attr("rowSpan",1);
for(var i=1;i<rowSpan;i++){
$(this).appendTo(table_Obj);
}
}
});这样写 不行,浏览器还会卡死。求高人稍微指点迷津,小弟感激不尽。
解决方案 »
- java类库不是多吗 有没有用于生成静态页面的类库呢
- hibernate只能存最后一条记录,求解答~~~
- eclipse3.3+myeclipse5.0的问题
- Struts中取得DataSource的问题,向高手求助!在线等!
- Cannot find bean org.apache.struts.taglib.html.BEAN in scope null?
- 如何使用标签<bean:iterate>来实现遍历输出记录集的数据
- Tomcat不认Classes12.zip怎么回事
- struts中jsp标签数量的问题!(好像还涉及到了虚拟机)
- 关于ejb的编译问题,请高手赐教,在线等待!
- 网页界面播放终端实时视频方案。高分求?
- 有没有人用过apache的DBUtils呀,求教
- 21cn的java笔试题
reset的时候将clone的隐藏, 并show以前的table
var colnum=3;
var table_Obj = $(table_id + " tr td:nth-child(" +colnum + ")"); //nth-child colnum=1 第一列
table_Obj.each(function(i){
var rowSpan = $(this).attr("rowSpan");
if(rowSpan>1){
$(this).attr("rowSpan",1);
var cloneTmp = $(this).clone()
for(var i=1;i<rowSpan;i++){
$(this).parent('tr').next('tr').append(cloneTmp);
}
}
});
//重新排序 #showList 1
var table_Obj = $(table_id + " tr td:nth-child(" +colnum + ")"); //nth-child colnum=1 第一列
table_Obj.each(function(i){
if($(this).hide()){
$(this).show();
}
if($(this).attr("rowspan")>1){
$(this).attr("rowspan","1");
}
});
}