首页 > 解决方案 > 在 html 表中显示 javascript 数组

问题描述

我正忙于HTML通过来自database. 我让数组正常工作并且我正在正确过滤,然后我使用 for 循环在el函数中获取对象。控制台日志是正确的,但是我想显示的页面上的表格在一行上写了一个字母。

JAVASCRIPT

function go(){
  var startd = document.getElementById('startdate').value+" 00:00";
  var stopd = document.getElementById('stopdate').value;
  var array = [<%items.forEach(function(item, index){%>{date:"<%= item.Expr1000%>", inout:"<%= item.CHECKTYPE%>", sn:"<%= item.sn%>"},<% });%>{date:"stop"}];
var check = array.filter(function(el){
return el.date >= startd &&
       el.date <= stopd &&
       el.inout &&
       el.sn;

});

check.forEach(function(el){
console.log(el.date);
var table = $('#set');
 var row, cell;
 for(var i=0; i<el.date.length; i++){
 row = $( '<tr />' );
 table.append( row );
 for(var j=0; j<el.date[i].length; j++){
 cell = $('<td>'+el.date[i][j]+'</td>');
 row.append( cell );
 }
 }
});



}

当前显示日期如下:

2
0
1
9
-
0
8
-
1
5

0
7
:
0
0
:
2
1
2
0
1
9
-
0
8
-
1
5

0
7
:
0
0
:
3
0

我想显示为:

 yyyy-mm-dd hh:mm:ss
 yyyy-mm-dd hh:mm:ss

标签: javascripthtmlarrayshtml-table

解决方案


你的第二个循环是问题:

for(var j=0; j<el.date[i].length; j++){
  cell = $('<td>'+el.date[i][j]+'</td>');
  row.append( cell );
}

这是循环日期中的每个字符。您根本不需要第二个循环——只需将日期直接添加到row

cell = $('<td>'+el.date[i]+'</td>');
row.append( cell );

推荐阅读