<script src=scripts/jquery-1.8.3.min.js></script>
<script>
$(function() {
var list = [1, 2, 6, 7, 8, 9, 10].sort( function(a, b) {
if(a == b) return 0;
return a > b ? -1 : 1;
});
var last = [null, '...'];
$('#process_ tr').each(function() {
var v = $(this).find('td:eq(0)').text();
if(v == last[1]) {
for(var i=0; i<list.length; i++) {
var k = list[i]-1;
last[0].find('td').eq(k).prop('rowspan', last[0].find('td').eq(k).prop('rowspan')+1);
$(this).find('td').eq(k).remove();
}
}else last = [$(this), v];
});});
</script>合并是根据 “申请编号”相同的来进行对指定的列(1、2、6、7、8、9、10列)进行合并
<table id="process_"border=1>
<tr>
<th>
申请编号
</th>
<th>
收款人
</th>
<th>
合同编号
</th>
<th>
款项内容
</th>
<th>
金额
</th>
<th>
申请金额(合计)
</th>
<th>
付款金额(总额)
</th>
<th>
凭证编号
</th>
<th>
付款日期
</th>
<th>
</th>
</tr> <tr>
<td>
PB150122115637
</td>
<td>
陕西金禹科技发展有限公司
</td>
<td>
XM-001
</td>
<td>
款项内容1
</td>
<td class="fmoney" style="text-align: right">
10.00
</td>
<td>
</td>
<td>
<input type="text" class="PayMent" value="0" onkeyup="this.value=clearNoNum(this)"/>
</td>
<td>
<input type="text" />
</td>
<td>
<input type="text" value="0001/1/1 0:00:00" />
</td>
<td>
<input id="Checkbox1" type="checkbox" /></td>
</tr>
<tr>
<td>
PB150122115637
</td>
<td>
陕西金禹科技发展有限公司
</td>
<td>
XM-002
</td>
<td>
款项内容2
</td>
<td class="fmoney" style="text-align: right">
20.00
</td>
<td>
</td>
<td>
<input type="text" class="PayMent" value="0" onkeyup="this.value=clearNoNum(this)"/>
</td>
<td>
<input type="text" />
</td>
<td>
<input type="text" value="0001/1/1 0:00:00" />
</td>
<td>
<input id="Checkbox1" type="checkbox" /></td>
</tr>
<tr>
<td>
PB150122115637
</td>
<td>
陕西金禹科技发展有限公司
</td>
<td>
XM-003
</td>
<td>
款项内容3
</td>
<td class="fmoney" style="text-align: right">
30.00
</td>
<td>
</td>
<td>
<input type="text" class="PayMent" value="0" onkeyup="this.value=clearNoNum(this)"/>
</td>
<td>
<input type="text" />
</td>
<td>
<input type="text" value="0001/1/1 0:00:00" />
</td>
<td>
<input id="Checkbox1" type="checkbox" /></td>
</tr>
<tr>
<td>
PB150122123322
</td>
<td>
南通亚盛风机有限公司
</td>
<td>
SC14-001
</td>
<td>
风売货款
</td>
<td class="fmoney" style="text-align: right">
8000.00
</td>
<td>
</td>
<td>
<input type="text" class="PayMent" value="0" onkeyup="this.value=clearNoNum(this)"/>
</td>
<td>
<input type="text" />
</td>
<td>
<input type="text" value="0001/1/1 0:00:00" />
</td>
<td>
<input id="Checkbox1" type="checkbox" /></td>
</tr>
<tr>
<td>
PB150122143227
</td>
<td>
山东星苑锌业科技有限公司
</td>
<td>
YL14-001
</td>
<td>
金精矿01
</td>
<td class="fmoney" style="text-align: right">
100.00
</td>
<td>
</td>
<td>
<input type="text" class="PayMent" value="0" onkeyup="this.value=clearNoNum(this)"/>
</td>
<td>
<input type="text" />
</td>
<td>
<input type="text" value="0001/1/1 0:00:00" />
</td>
<td>
<input id="Checkbox1" type="checkbox" /></td>
</tr>
<tr>
<td>
PB150122143227
</td>
<td>
山东星苑锌业科技有限公司
</td>
<td>
YL14-002
</td>
<td>
金精矿02
</td>
<td class="fmoney" style="text-align: right">
200.00
</td>
<td>
</td>
<td>
<input type="text" class="PayMent" value="0" onkeyup="this.value=clearNoNum(this)"/>
</td>
<td>
<input type="text" />
</td>
<td>
<input type="text" value="0001/1/1 0:00:00" />
</td>
<td>
<input id="Checkbox1" type="checkbox" /></td>
</tr>
<tr>
<td>
PB150122143227
</td>
<td>
山东星苑锌业科技有限公司
</td>
<td>
YL14-003
</td>
<td>
金精矿03
</td>
<td class="fmoney" style="text-align: right">
300.00
</td>
<td>
</td>
<td>
<input type="text" class="PayMent" value="0" onkeyup="this.value=clearNoNum(this)"/>
</td>
<td>
<input type="text" />
</td>
<td>
<input type="text" value="0001/1/1 0:00:00" />
</td>
<td>
<input id="Checkbox1" type="checkbox" /></td>
</tr>
<tr>
<td>
PB150122143227
</td>
<td>
山东星苑锌业科技有限公司
</td>
<td>
YL14-004
</td>
<td>
金精矿04
</td>
<td class="fmoney" style="text-align: right">
400.00
</td>
<td>
</td>
<td>
<input type="text" class="PayMent" value="0" onkeyup="this.value=clearNoNum(this)"/>
</td>
<td>
<input type="text" />
</td>
<td>
<input type="text" value="0001/1/1 0:00:00" />
</td>
<td>
<input id="Checkbox1" type="checkbox" /></td>
</tr></table>代码应该可以优化
<script>
$(function() {
var list = [1, 2, 6, 7, 8, 9, 10].sort( function(a, b) {
if(a == b) return 0;
return a > b ? -1 : 1;
});
var last = [null, '...'];
$('#process_ tr').each(function() {
var v = $(this).find('td:eq(0)').text();
if(v == last[1]) {
for(var i=0; i<list.length; i++) {
var k = list[i]-1;
last[0].find('td').eq(k).prop('rowspan', last[0].find('td').eq(k).prop('rowspan')+1);
$(this).find('td').eq(k).remove();
}
}else last = [$(this), v];
});});
</script>合并是根据 “申请编号”相同的来进行对指定的列(1、2、6、7、8、9、10列)进行合并
<table id="process_"border=1>
<tr>
<th>
申请编号
</th>
<th>
收款人
</th>
<th>
合同编号
</th>
<th>
款项内容
</th>
<th>
金额
</th>
<th>
申请金额(合计)
</th>
<th>
付款金额(总额)
</th>
<th>
凭证编号
</th>
<th>
付款日期
</th>
<th>
</th>
</tr> <tr>
<td>
PB150122115637
</td>
<td>
陕西金禹科技发展有限公司
</td>
<td>
XM-001
</td>
<td>
款项内容1
</td>
<td class="fmoney" style="text-align: right">
10.00
</td>
<td>
</td>
<td>
<input type="text" class="PayMent" value="0" onkeyup="this.value=clearNoNum(this)"/>
</td>
<td>
<input type="text" />
</td>
<td>
<input type="text" value="0001/1/1 0:00:00" />
</td>
<td>
<input id="Checkbox1" type="checkbox" /></td>
</tr>
<tr>
<td>
PB150122115637
</td>
<td>
陕西金禹科技发展有限公司
</td>
<td>
XM-002
</td>
<td>
款项内容2
</td>
<td class="fmoney" style="text-align: right">
20.00
</td>
<td>
</td>
<td>
<input type="text" class="PayMent" value="0" onkeyup="this.value=clearNoNum(this)"/>
</td>
<td>
<input type="text" />
</td>
<td>
<input type="text" value="0001/1/1 0:00:00" />
</td>
<td>
<input id="Checkbox1" type="checkbox" /></td>
</tr>
<tr>
<td>
PB150122115637
</td>
<td>
陕西金禹科技发展有限公司
</td>
<td>
XM-003
</td>
<td>
款项内容3
</td>
<td class="fmoney" style="text-align: right">
30.00
</td>
<td>
</td>
<td>
<input type="text" class="PayMent" value="0" onkeyup="this.value=clearNoNum(this)"/>
</td>
<td>
<input type="text" />
</td>
<td>
<input type="text" value="0001/1/1 0:00:00" />
</td>
<td>
<input id="Checkbox1" type="checkbox" /></td>
</tr>
<tr>
<td>
PB150122123322
</td>
<td>
南通亚盛风机有限公司
</td>
<td>
SC14-001
</td>
<td>
风売货款
</td>
<td class="fmoney" style="text-align: right">
8000.00
</td>
<td>
</td>
<td>
<input type="text" class="PayMent" value="0" onkeyup="this.value=clearNoNum(this)"/>
</td>
<td>
<input type="text" />
</td>
<td>
<input type="text" value="0001/1/1 0:00:00" />
</td>
<td>
<input id="Checkbox1" type="checkbox" /></td>
</tr>
<tr>
<td>
PB150122143227
</td>
<td>
山东星苑锌业科技有限公司
</td>
<td>
YL14-001
</td>
<td>
金精矿01
</td>
<td class="fmoney" style="text-align: right">
100.00
</td>
<td>
</td>
<td>
<input type="text" class="PayMent" value="0" onkeyup="this.value=clearNoNum(this)"/>
</td>
<td>
<input type="text" />
</td>
<td>
<input type="text" value="0001/1/1 0:00:00" />
</td>
<td>
<input id="Checkbox1" type="checkbox" /></td>
</tr>
<tr>
<td>
PB150122143227
</td>
<td>
山东星苑锌业科技有限公司
</td>
<td>
YL14-002
</td>
<td>
金精矿02
</td>
<td class="fmoney" style="text-align: right">
200.00
</td>
<td>
</td>
<td>
<input type="text" class="PayMent" value="0" onkeyup="this.value=clearNoNum(this)"/>
</td>
<td>
<input type="text" />
</td>
<td>
<input type="text" value="0001/1/1 0:00:00" />
</td>
<td>
<input id="Checkbox1" type="checkbox" /></td>
</tr>
<tr>
<td>
PB150122143227
</td>
<td>
山东星苑锌业科技有限公司
</td>
<td>
YL14-003
</td>
<td>
金精矿03
</td>
<td class="fmoney" style="text-align: right">
300.00
</td>
<td>
</td>
<td>
<input type="text" class="PayMent" value="0" onkeyup="this.value=clearNoNum(this)"/>
</td>
<td>
<input type="text" />
</td>
<td>
<input type="text" value="0001/1/1 0:00:00" />
</td>
<td>
<input id="Checkbox1" type="checkbox" /></td>
</tr>
<tr>
<td>
PB150122143227
</td>
<td>
山东星苑锌业科技有限公司
</td>
<td>
YL14-004
</td>
<td>
金精矿04
</td>
<td class="fmoney" style="text-align: right">
400.00
</td>
<td>
</td>
<td>
<input type="text" class="PayMent" value="0" onkeyup="this.value=clearNoNum(this)"/>
</td>
<td>
<input type="text" />
</td>
<td>
<input type="text" value="0001/1/1 0:00:00" />
</td>
<td>
<input id="Checkbox1" type="checkbox" /></td>
</tr></table>代码应该可以优化
解决方案 »
- 請教 新手如何學習JS
- 请教个问题啊~~为什么我前端用jQuery存了个Cookies的值,我在cs后台去清空,却清不掉?
- 最近做了个javascript的图片浏览器
- 请问location这样用错在哪里?
- 急!!帮我找找错
- sw47(我爱编程,脑筋好好,嗷嗷嗷嗷嗷...)接分
- 求页面中控制层的大小的JS代码
- alert()
- $$$如何设置iframe的长度和宽度,使它能自适应src中引导过来的页面,而不出现scroll bar???
- 高分,对高手来说也不难题,就是麻烦些。
- 小虾米的问题:JQuery如何支持html5的onended事件?
- jquery.datatable插件如何不自动加载数据?
<script>
$(document).ready(function () {
$(function () {
var list = [1, 2, 6, 7, 8, 9, 10].sort(function (a, b) {
if (a == b) return 0;
return a > b ? -1 : 1;
});
var last = [null, '...'];
var sum = 0;//
$('#process_ tr').each(function () {
var v = $(this).find('td:eq(0)').text();
var vsun = $(this).find('td:eq(4)').text()
if (v == last[1]) {
for (var i = 0; i < list.length; i++) {
sum += parseFloat(vsun);
var k = list[i] - 1;
last[0].find('td').eq(k).attr('rowspan', last[0].find('td').eq(k).attr('rowspan') + 1);
$(this).find('td').eq(k).remove();
}
$(this).find('td').eq(5).html(sum);
}
else {
last = [$(this), v]; sum = parseFloat($(this).find('td').eq(4).html());//
$(this).find('td').eq(5).html(sum);// }
}); });
});
</script>
var list = [1, 2, 6, 7, 8, 9, 10].sort( function(a, b) {
if(a == b) return 0;
return a > b ? -1 : 1;
});
var last = [null, '...'];
$('#process_ tr').each(function() {
var v = $(this).find('td:eq(0)').text();
if(v == last[1]) {
for(var i=0; i<list.length; i++) {
var k = list[i]-1;
last[0].find('td').eq(k).prop('rowspan', last[0].find('td').eq(k).prop('rowspan')+1);
$(this).find('td').eq(k).remove();
if(k == 5) { //如果是在处理合计列
var sum = parseFloat(last[0].find('td').eq(k).html()) + parseFloat($(this).find('td').eq(4).html());
last[0].find('td').eq(k).html(sum.toFixed(2));
}
}
}else {
last = [$(this), v];
$(this).find('td:eq(5)').html($(this).find('td:eq(4)').html()); //把金额赋给合计
}
});
});