如何在没有表长度

时间:2017-08-22 16:03:15

标签: javascript

我想在表格的每一行的第一列中增加一个数字。 我想在不知道数据长度的情况下制作它。

我试过这个,数字不会增加,只是在每行显示变量值。

$(document).ready(function (e) {
    if ($("#checker").val() == "ka") {
        var data = $("#report_all").serialize();

        $('#all_report thead').empty();
        $('#all_report tbody').empty();
        $.ajax({
            data: data,
            type: "Post",
            url: "../php/report/report_all_KA.php",
            success: function (data) {
                var list = JSON.parse(data);

                for (var x = 0; i < list.length; i++) {
                    var n = 1;
                    n = list.length++;
                }
                var th = "";

                th += "<th>" + "<center>" + 'no' + "</center>" + "</th>";
                th += "<th>" + "<center>" + 'Tanggal' + "</center>" + "</th>";
                th += "<th>" + "<center>" + 'Type Kadar Air' + "</center>" + "</th>";
                th += "<th>" + "<center>" + 'Kode Material' + "</center>" + "</th>";
                th += "<th>" + "<center>" + 'Nama Material' + "</center>" + "</th>";
                th += "<th>" + "<center>" + 'Storage Location' + "</center>" + "</th>";
                th += "<th>" + "<center>" + 'Kadar Air' + "</center>" + "</th>";
                th += "<th>" + "<center>" + 'Nama PPIC' + "</center>" + "</th>";

                th += "</th>";
                $("#all_report thead").append(th);
                for (var i = 0; i < list.length; i++) {

                    var tr = "<tr>";
                    tr += "<td>" + n + "</td>";
                    tr += "<td>" + list[i]['date'] + "</td>";
                    tr += "<td>" + list[i]['type'] + "</td>";
                    tr += "<td>" + list[i]['kode'] + "</td>";
                    tr += "<td>" + list[i]['nama'] + "</td>";
                    tr += "<td>" + list[i]['sloc'] + "</td>";
                    tr += "<td>" + list[i]['ka'] + "</td>";
                    tr += "<td>" + list[i]['ppic'] + "</td>";

                    tr += "</tr>";

                    $("#all_report tbody").append(tr);
                    $("#all_report").show();
                }
                return false;
            }
        });
    //[...]

我在上面的整个代码中为增量编写的代码是这样的。

for(var x = 0; i < list.length; i++){
  var n=1;
  n= list.length++;
}

2 个答案:

答案 0 :(得分:1)

如果您只是在表格中查找与行号对应的列,则可以将"<td>" +n+"</td>"替换为"<td>"+(i+1)+"</td>"

那你甚至不需要那个其他的循环!

答案 1 :(得分:0)

var table = document.getElementsByTagName('table')[0],
rows = table.getElementsByTagName('tr'),
text = 'textContent' in document ? 'textContent' : 'innerText';
for (var i = 0, len = rows.length; i < len; i++) {
rows[i].children[0][text] = i + rows[i].children[0][text];
}

希望它有效! :)