liugz168 2016-04-30 05:19 采纳率: 75%
浏览 1592
已采纳

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

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

  • 写回答

2条回答

  • Go 旅城通票 2016-04-30 09: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>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮