真的需要我在这里挣扎,但无济于事......开始拉我的头发。好吧,这是我从DB获取原始数据的情景,我想在桌子上显示。
但我的问题是如何在4列中显示结果并且在列= 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个字段的nbRows对象数组(每列1个)。”另外一件事是你提供的代码将在网格中分配结果,而不管数据的总长度如何:
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
答案 0 :(得分:2)
你可以这样做:
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]
}
}
}