单元格/行插入在第一列下

时间:2019-11-26 12:20:49

标签: javascript php html css

我正在为学校制定实时时间表,为此,我有一个管理面板,其中有“ User verwalten”(管理用户)一面,负责管理各个用户的权限。我想创建一个具有名称和复选框的表,您可以在其中用叉号标记权限。 (所有用户及其权限)的数据位于Web服务器上。

问题: 现在,我已经添加了表头,并且我想添加用户。但是现在有了表头,所有内容都添加到第一列中,我不知道为什么。当我调试时,发现在右行中添加了单元格,但是如果我添加行,则如下所示: enter image description here

但是我希望它看起来像这样但带有表头enter image description here

这是createTable()的代码

function createTable(json){
                    var obj = JSON.parse(json);
                    var oldBody = document.getElementsByTagName('tbody')[0];
                    var body = document.createElement('tbody');
                    //if i add this header everything gets desroyed
                    //var header = document.getElementById("header").innerHTML = '<tr><th class="header"><h3>Name</h3></th><th class="header"><h3>Schüler verwalten</h3></th><th class="header"><h3>Benutzer verwalten</h3></th><th class="header"><h3>History anschauen</h3></th><th class="header"><h3>Home verwalten</h3></th></tr>';

                    for (var j = 0; j < obj.length; j++) {
                            var row = addRow(obj[j]);
                            row.classList.add('row');
                            //table.appendChild(body);
                    }
                }

代码foraddRow()

function addRow(val) {
                var tr = document.createElement('tr');
                for( var i = 0; i < 5; i++){
                    if(i==0){
                        var name = val.substr(0,(val.length)-9);
                        addCell(tr, null,name);
                    }else{
                        var rest = val.substr((val.length)-9, val.length);
                        var values = rest.split(";");
                        addCell(tr, values[i], name);
                    }
                    table.appendChild(tr);
                }

            return tr;
            }

addCell()的代码

function addCell(tr, val, name) {

                var name;
                var cell = document.createElement('input');
                var value = "get";
                if(val == null){
                    cell.classList.add("name")
                    cell.value = name;
                    cell.addEventListener("dblclick", function () {
                                        cell.classList.remove('cell');
                                        cell.classList.add('selected');
                                        clearSelection();
                                    });
                }else if(val == 0){
                    cell.classList.add('checkbox');
                    cell.type = "checkbox";
                    cell.checked = false;
                    cell.addEventListener( 'change', function() {
                        value += getString();
                        getData(value);
                    });

                }else if(val == 1){
                    cell.classList.add('checkbox');
                    cell.type = "checkbox";
                    cell.checked = true;
                    cell.addEventListener( 'change', function() {
                        value += getString();

                        getData(value);
                    });

                }
                tr.appendChild(cell);
            }

2 个答案:

答案 0 :(得分:1)

我认为您需要设置一个newStartIndex变量。

这就是我所做的。 (如果我理解正确) 我意识到这可能不完全是您要问的,但也许可以为您指明正确的方向。

var ucfIndex = 2;
const ucfSelectedRowIndex = rows.indexOf(feedbackCandidates[x]) + ucfIndex;

var sheets = google.sheets({ version: 'v4' });
authorize(function () {
var request = {
    spreadsheetId: 'yourSheetId',
    valueInputOption: 'RAW',
    resource: {

        "data": [
            {
                "range": "N" + ucfSelectedRowIndex,
                "majorDimension": "COLUMNS",
                "values": [
                    [
                        true
                    ],
                ]
            },
        ],
    },
    auth,
};

sheets.spreadsheets.values.batchUpdate(request, function (err, response) {
    if (err) {
        console.error(err);
        return;
    }
    else {
        console.info(response);
        console.log("Col Values updated");
    };
});

});

答案 1 :(得分:0)

添加行的代码

var table = document.getElementById(“ tbl”);

    for (var i = 0 ; i < table.rows.length; i++) {

        var row = "";

        for (var j = 0; j < table.rows[i].cells.length; j++) {

            row += table.rows[i].cells[j].innerHTML;
            row += " | ";
        }

        alert(row);
    }