【问题标题】:add new row after certain column in tables在表格中的特定列之后添加新行
【发布时间】:2011-11-10 07:55:24
【问题描述】:

真的需要,因为我在这里挣扎,但无济于事..开始拉扯我的头发..好吧,这是我有来自数据库的原始数据的场景,我想在表格中显示。

但我的问题是如何在 4 列中显示结果,并且在 columns=4 之后创建新行直到记录结束...我知道如何通过使用模数但在 Jquery 中使用 PHP 来完成..\0 / 我现在整天都在挣扎……

这是我的尝试

 $.ajax({type :'GET',url : 'getalbums.php',dataType : 'json',
            success : function(data){
                $.each(data, function(i,item){

                    var lendata = data.length;
                    var columns = 2;

                    for(var i=0;i<lendata;i++){
                        if(i % columns == 0) {
                            $("<tr>").appendTo("#tablealbumphotos");    
                        }
                        $("<td>YESSSS</td>").appendTo("#tablealbumphotos");
                        if((i % columns) == (columns - 1) || (i + 1) == lendata) {
                            $("</tr><tr><td>YESSSS</td></tr>").appendTo("#tablealbumphotos");
                        }
                    }

                        });

                    }
                    ,error : function(XMLHttpRequest, textStatus, errorThrown) {

                    }
                });

这是我的 HTML

<table id="tablealbumphotos" class="tblphotos">
<!-- display the resutl here in grid format -->        

</table>

希望有人能告诉我如何去做..真的需要帮助..TQ

===================================EDITT===== =======================================

感谢@olivieradam666 的回复

您能否通过以下语句更加详细地说明“您的服务器应该向您发送一个包含 4 个字段(每列 1 个)的 nbRows 对象数组。”另一件事是,无论数据的总长度如何,您的提供代码都会在网格中分配结果,例如:

col1 col2 col3 col4
col5 col6 col7 col8
col9 col10 undefined undefined

假设总记录数为 10 且列 = 4

col1 col2 col3 col4
col5 col6 col7 col8
col9 col10

任何提示tq

【问题讨论】:

    标签: jquery


    【解决方案1】:

    你可以这样做:

    success : function(data){
      var lendata = data.length;
      var columns = 2;
    
      for (var row = 0; row < lendata / columns; row++) {
        var tr = $('<tr>').appendTo("#tablealbumphotos");
        for (var i = 0; i < columns; i++) {
          tr.append($("<td>YESSSS</td>"));//here you should use data[row*columns + i]
        }
      }
    }
    

    【讨论】:

    • 您的服务器应该向您发送一个包含 4 个字段(每列 1 个)的 nbRows 对象数组。这将允许使用更简洁的 javascript(没有模数和按名称索引的列)
    • 如果您发送 [[00, 01, 02, 03], [10, 11, 12, 13], [20, 21, 22, 23]] 那么知道行数将是简单。更好的是: [{name: 'Diego', age: 22}, {name:'Jojo', age: 23}] 然后将名称放在第 0 列,将年龄放在第 1 列...
    猜你喜欢
    • 1970-01-01
    • 2018-05-01
    • 2021-08-15
    • 1970-01-01
    • 2017-04-03
    • 2013-07-06
    • 2011-12-17
    • 2020-03-08
    • 2011-05-29
    相关资源
    最近更新 更多