2 liugz168 liugz168 于 2016.04.30 13:19 提问

谁能帮忙 用js将竖排转横排?

谁能帮忙 用js将竖排转横排。 格式如图片:
图片说明

2个回答

showbo
showbo   Ds   Rxr 2016.04.30 17:29
已采纳

你的右边表格统计有问题,第一行的l应该是15,从哪里冒出来的22

 <table border="1" id="source">
    <tr><th>商品编号</th><th>颜色编号</th><th>尺码</th><th>尺码组</th><th>尺码顺序</th><th>调出数量</th></tr>
    <tr><td>a</td><td>1</td><td>s</td><td>衣服</td><td>1</td><td>10</td></tr>
    <tr><td>a</td><td>1</td><td>m</td><td>衣服</td><td>2</td><td>10</td></tr>
    <tr><td>a</td><td>1</td><td>l</td><td>衣服</td><td>3</td><td>15</td></tr>
    <tr><td>a</td><td>2</td><td>m</td><td>衣服</td><td>2</td><td>3</td></tr>
    <tr><td>b</td><td>1</td><td>24</td><td>裤子</td><td>2</td><td>5</td></tr>
    <tr><td>b</td><td>1</td><td>23</td><td>裤子</td><td>1</td><td>6</td></tr>
        <!--新增一个测试--->
    <tr><td>c</td><td>1</td><td>s</td><td>内档</td><td>1</td><td>15</td></tr>
    <tr><td>c</td><td>2</td><td>s</td><td>内档</td><td>1</td><td>13</td></tr>
    <tr><td>c</td><td>2</td><td>s</td><td>内档</td><td>1</td><td>13</td></tr>
</table><br /><br />
<table border="1" id="target">
    <tr><th colspan="5">&nbsp;</th><th>尺码顺序</th><th>1</th><th>2</th><th>3</th><th>4</th></tr>
    <tr><th colspan="6">&nbsp;</th><th>23</th><th>24</th><th>25</th><th>26</th></tr>
    <tr><th>商品编号</th><th>颜色编号</th><th>尺码</th><th>尺码组</th><th>尺码顺序</th><th>调出数量小计</th><th>S</th><th>M</th><th>L</th><th>XL</th></tr>
</table>
<script>
    var souce = document.getElementById('source'), target = document.getElementById('target');
    var kv = {}, key, row, item, tRow, td,num,order;
    for (var i = 1; i < source.rows.length; i++) {
        row = source.rows[i];
        key = row.cells[0].innerHTML + row.cells[1].innerHTML + row.cells[3].innerHTML;//看截图你应该是依据列1,2,4来确定目标行
        //获取kv存储的统计信息或者初始化一个,rowIndex为target表格的key的统计行
        if (kv[key]) { item = kv[key]; tRow = target.rows[item.rowIndex]; }
        else {
            item = { '1': 0, '2': 0, '3': 0, '4': 0, sum: 0, rowIndex: target.rows.length }
            kv[key] = item;
            tRow = target.insertRow(item.rowIndex);//新行
            td = tRow.insertCell(0); td.innerHTML = row.cells[0].innerHTML;
            td = tRow.insertCell(1); td.innerHTML = row.cells[1].innerHTML;
            td = tRow.insertCell(2);
            td = tRow.insertCell(3); td.innerHTML = row.cells[3].innerHTML;
            td = tRow.insertCell(4); td = tRow.insertCell(5); td = tRow.insertCell(6); td = tRow.insertCell(7); td = tRow.insertCell(8); td = tRow.insertCell(9);
        };
        //统计
        num = parseInt(row.cells[5].innerHTML) || 0;
        order = row.cells[4].innerHTML;//如果出现key相同的数据行,尺码小计
        item[order] += num;
        item.sum += num;//总计
        tRow.cells[5].innerHTML = item.sum;
        tRow.cells[5 + parseInt(order)].innerHTML = item[order];//更新尺码
    }
</script>
liugz168
liugz168 感谢你的回复,基本是要这种效果。 表头的话,其实不是固顶死的, 表头是要根据另外一个表格动态生成表头的。
大约 2 年之前 回复
liugz168
liugz168   2016.04.30 14:13

好吧 自己顶下, 希望高手能拿下100C

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
GB2312字库(竖置横排)点阵数据
FONT.C中存储了GB2312字库(竖置横排)点阵数据,为GT21L16S2Y字库芯片内容的缩减版
c++ 日历 横排 竖排输出
c++ 的日历. 横排竖排输出的都有 不是用类实现
横排文字转古书式竖排工具
横排文字转古书式竖排工具 论坛发帖限制? 使用这个工具吧!
Jquery网站导航级联菜单(Jquery1.9.0)
jquery 网站导航菜单 横排下拉菜单 竖排下拉菜单
Jquery网站导航级联菜单(Jquery1.8.2)
jquery 网站导航菜单 横排下拉菜单 竖排下拉菜单
最新版Jquery网站导航级联菜单(Jquery1.6.3)
Jquery1.6.3,横排下拉菜单,竖排下拉菜单,可直接套用.
Jquery网站导航级联菜单(Jquery1.7.2)
Jquery,横排下拉菜单,竖排下拉菜单,可直接套用.
Jquery网站导航级联菜单(Jquery1.7)
Jquery,横排下拉菜单,竖排下拉菜单,可直接套用.
Jquery网站导航级联菜单(Jquery1.9.1)
jquery 网站导航菜单 横排下拉菜单 竖排下拉菜单
Jquery网站导航级联菜单(Jquery1.8.1)
jquery 网站导航菜单 横排下拉菜单 竖排下拉菜单