当前位置:  开发笔记 > 编程语言 > 正文

如何使用javascript从数据库向动态表添加不同的列

如何解决《如何使用javascript从数据库向动态表添加不同的列》经验,为你挑选了1个好方法。

我有一个构建动态表的函数.我无法弄清楚如何将每列设置为数据库中的不同数据集.现在它只在每列中显示相同的值.

一点背景.我正在构建一个包含6列和大量行的表(所有这些都取决于数据库有多少数据).现在它只在所有6列中显示一列,所以它们重复.

如何将每列设置为6列的不同值?

    function addTable() {
        var len = errorTableData.length;
        var myTableDiv = document.getElementById("myDynamicTable");
        var table = document.createElement('TABLE');
        table.border='1';
        table.id = "dataTable";
        var tableBody = document.createElement('TBODY');
        table.appendChild(tableBody);

        for (var i=0; i

这是ajax调用:

        function triggerDataTable(index) {
        // Make AJAX requests for model systems
        $.ajax({
            type: "POST",
            url: "qry/getAllData.php",
            async: true,
            dataType: "html",
            data: {ErrorOptions: control.settings.errorOptions},
            success: function (result) {
                //console.warn(result);
                errorData = JSON.parse(result);
                //loop through data
                var len = errorData.length;
                for(i=0; i

errorData是数据库中的数据.正如你所看到的,我已经尝试添加2个变量,但是当我这样做时,它只是将它们放在同一个框中并在整个表中重复.



1> Trey..:

看起来您每行打印完全相同的数据6次.你创建一个td元素,然后为它添加国家和州名,但你用于数据集索引的变量来自你的外部循环,所以在内部循环它永远不会改变,你实际上是抓住它每次都有价值:

function addTable() {
    var len = errorTableData.length;
    var myTableDiv = document.getElementById("myDynamicTable");
    var table = document.createElement('TABLE');
    table.border='1';
    table.id = "dataTable";
    var tableBody = document.createElement('TBODY');
    table.appendChild(tableBody);

    for (var i=0; i

如果您可以使用从数据库获取的数据发布一些json,将会更容易提供帮助

根据您的帖子编辑并查看成功回调,我认为您有一个小问题,可以轻松修复:

首先,初始化一个空数组 errorTableData

success: function (result) {
    errorTableData = [];

在你的if/else块中:

} else { //data here
    errorTableData = errorData[i];
}

应该:

} else { //data here
    errorTableData[i] = errorData[i];
}

然后在你的内循环中:

var countyName = errorTableData['CountyName'][i];
var stateName = errorTableData['StateName'][i];

变为:

var countyName = errorTableData[i]['CountyName'][j];
var stateName = errorTableData[i]['StateName'][j];

这只是一个猜测,因为我看不到实际的数据.

推荐阅读
殉情放开那只小兔子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有