彼岸~流觞 2018-11-30 05:45 采纳率: 100%
浏览 2668
已采纳

js动态把文本框输入的的内容生成表格

像这两张图显示的一样,先在多个中input选择数据,然后再把input选择的数据生成表格
图片说明

  • 写回答

3条回答 默认 最新

  • 论业余我是专业的 2018-12-06 08:09
    关注

    图片说明

    直接把数据传给后台 , 后台处理就是了, 自己转成json数据也可以; 但是想转成下面表格展示的数据类型会有点复杂, 后台转会更容易一下; 表格展示的数据格式需要跟后台商量好; 希望可以帮到你.

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <title></title>
            <style type="text/css">td{width: 50px;text-align: center;}</style>
        </head>
        <body>
            <table id="table" border="1"></table>
        </body>
        <script type="text/javascript">
            window.onload = function(){
                var arr = [10,20,30];
                var arr1 = ["A","B"];
                var arr2 = ["S","M","L"];
                var data = []; // 发给后台的
                var data1 = [];  // 界面显示的表格数据
                for (var i = 0; i < arr.length; i++ ) {
    
                    for (var x = 0; x < arr1.length; x++) {
                        for (var y = 0; y < arr2.length; y++) {
                            dataItem = [];
                            if( x==0 && y==0 ){
                                dataItem.push({
                                    rowspan: arr1.length * arr2.length,
                                    title: arr[i]
                                })
                            }
                            if( y==0){
                                dataItem.push({
                                    rowspan: arr2.length,
                                    title: arr1[x]
                                })
                            }
                            dataItem.push({
                                rowspan: 1,
                                title: arr2[y]
                            })
                            var obj = {
                                concentration: arr[i],
                                size: arr1[x],
                                capacity: arr2[y]
                            };
                            data1.push(dataItem);
                            data.push(obj);
                        }
                    }
                }
                console.log(data);
                console.log(data1);
                var table = "";
                for (var index = 0; index < data1.length; index++ ) {
                    var item = data1[index];
                    var tr = "<tr>";
                    for (var s = 0; s < item.length; s++ ) {
                        tr += "<td rowspan='" + item[s].rowspan + "'>" + item[s].title + "</td>";
                    }
                    tr += "<td>库存</td><td>积分</td><td>总量</td>"
                    tr += "</tr>"
                    table += tr; 
                }
                console.log(table);
                document.getElementById("table").innerHTML = table;
            }
        </script>
    </html>
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥100 X轴为分离变量(因子变量),如何控制X轴每个分类变量的长度。
  • ¥30 求给定范围的全体素数p的(p-2)的连乘积
  • ¥15 VFP如何使用阿里TTS实现文字转语音?
  • ¥100 需要跳转番茄畅听app的adb命令
  • ¥50 寻找一位有逆向游戏盾sdk 应用程序经验的技术
  • ¥15 请问有用MZmine处理 “Waters SYNAPT G2-Si QTOF质谱仪在MSE模式下采集的非靶向数据” 的分析教程吗
  • ¥50 opencv4nodejs 如何安装
  • ¥15 adb push异常 adb: error: 1409-byte write failed: Invalid argument
  • ¥15 nginx反向代理获取ip,java获取真实ip
  • ¥15 eda:门禁系统设计