【问题标题】:Fix the first and the second column of dynamic table generated according to JSON file修复根据json文件生成的动态表的第一列和第二列
【发布时间】:2017-08-25 13:27:32
【问题描述】:

在HTML文件中定义空表,在js文件中追加tad和tbody,根据从JSON文件中读取的数据填充js文件中的td内容。

问题:如何修复这个动态表的第一列和第二列?

【问题讨论】:

  • 你能给我们看一些代码吗?
  • “修复”是什么意思? “JSON 文件”是什么意思?

标签: javascript html json html-table


【解决方案1】:

这只是一个例子。你可以试试这个。

var myList = [
    { "name": "abc", "age": 50 },
    { "age": "25", "hobby": "swimming" },
    { "name": "xyz", "hobby": "programming" }
];

function buildHtmlTable(selector) {
    var columns = addAllColumnHeaders(myList, selector);
    for (var i = 0; i < myList.length; i++) {
        var row$ = $('<tr/>');
        for (var colIndex = 0; colIndex < columns.length; colIndex++) {
            var cellValue = myList[i][columns[colIndex]];
            if (cellValue == null) cellValue = "";
            row$.append($('<td/>').html(cellValue));
        }
        $(selector).append(row$);
    }
}

function addAllColumnHeaders(myList, selector) {
    var columnSet = [];
    var headerTr$ = $('<tr/>');
    for (var i = 0; i < myList.length; i++) {
        var rowHash = myList[i];
        for (var key in rowHash) {
            if ($.inArray(key, columnSet) == -1) {
                columnSet.push(key);
                headerTr$.append($('<th/>').html(key));
            }
        }
    }
    $(selector).append(headerTr$);
    return columnSet;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<body onLoad="buildHtmlTable('#excelDataTable')">
    <table id="excelDataTable" border="1">
    </table>
</body>

【讨论】:

  • 如何修复第一列和第二列?其他列可以滚动(overflow-x: auto;)。非常感谢!!!
  • @Daisy.Hsu 如果这对您有帮助,请接受我的回答。
  • @Daisy.Hsu 第一列和第二列是什么?
  • 不,我想水平滚动除第一列和第二列之外的所有内容。第一列是区域名称,第二列是它的目标值,其他列是逐日数据。
  • 非常感谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多