读书人

怎么使用js删除行效果如下图所示

发布时间: 2013-04-07 12:50:11 作者: rapoo

求助,如何使用js删除行,效果如下图所示
,怎么使用js删除行,效果如下图所示
[解决办法]
先拆分再合并的思路,可能复杂了点。


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script type="text/javascript">
$(function(){
$("#div1 table input[type=button]").click(function(){
var needRemove = $(this).parents("tr"),
tab = $(this).parents("table"),
trs = tab.find("tr"),
cache={}
;
var index=0;

//拆分
trs.each(function(col){
$(this).find("td").each(function(row){
var iRowSpan = $(this).attr("rowspan")
[解决办法]
0;
if(iRowSpan>1){
cache[index]={rowspanIndex:index,html:$(this).html()};
$(this).attr("coldata", index).removeAttr("rowspan");

for(var i=1;i<iRowSpan;i++ ){
var ttr= trs[col+ i],
toAdd = $(ttr).find("td")[row-1];
if(toAdd){
$(toAdd).after($("<td>").attr("coldata", index));
}
}
index++;
}
});
});
//删除
$(needRemove).remove();

//重新合并
trs = tab.find("tr");
trs.each(function(col){
$(this).find("td").each(function(row){
var colIndex=$(this).attr("coldata"), data= cache[colIndex];
if(!data) return;
if(!data.tag) {
data.tag= this;
$(this).html(data.html).removeAttr("coldata");
return;
}
data.tag.rowSpan ++;
$(this).remove();
});
});
});
})
</script>
<div id="div1">
<table border="1">

<tr>
<td>1</td>
<td rowspan="5">2000+5000</td>
<td rowspan="5">24000</td>
<td>1000</td>
<td>2000</td>
<td>3000</td>
<td><input type="button" value="删除行"/></td>
</tr>
<tr>
<td>2</td>
<td>1000</td>
<td>2000</td>


<td>3000</td>
<td><input type="button" value="删除行"/></td>

</tr>
<tr>
<td>3</td>
<td>1000</td>
<td>2000</td>
<td>3000</td>
<td><input type="button" value="删除行"/></td>
</tr>
<tr>
<td>4</td>
<td>1000</td>
<td>2000</td>
<td>3000</td>
<td><input type="button" value="删除行"/></td>
</tr>
<tr>
<td>5</td>
<td>1000</td>
<td>2000</td>
<td>3000</td>
<td><input type="button" value="删除行"/></td>
</tr>

<tr>
<td>6</td>
<td rowspan="5">2000+5000</td>
<td rowspan="5">24000</td>
<td>1000</td>
<td>2000</td>
<td>3000</td>
<td><input type="button" value="删除行"/></td>
</tr>
<tr>
<td>7</td>


<td>1000</td>
<td>2000</td>
<td>3000</td>
<td><input type="button" value="删除行"/></td>

</tr>
<tr>
<td>8</td>
<td>1000</td>
<td>2000</td>
<td>3000</td>
<td><input type="button" value="删除行"/></td>
</tr>
<tr>
<td>9</td>
<td>1000</td>
<td>2000</td>
<td>3000</td>
<td><input type="button" value="删除行"/></td>
</tr>
<tr>
<td>10</td>
<td>1000</td>
<td>2000</td>
<td>3000</td>
<td><input type="button" value="删除行"/></td>
</tr>
</table>

</div>

读书人网 >JavaScript

热点推荐