【问题标题】:How to create a dynamic table by iterating array vales in to <tr> and store in variable如何通过将数组值迭代到 <tr> 并存储在变量中来创建动态表
【发布时间】:2017-02-25 22:24:20
【问题描述】:

我有一个数组对象。我需要创建一个表,其中 tablerow (tr) 应该是动态的并且 tr 值应该来自数组对象。然后我需要将它存储在一个变量中。这样我就可以将它传递给restcall 以便它触发一封电子邮件,并且该表格显示在我的电子邮件中。

mail is my array with values{"100","200","300","400"}...
for ( i=0;i<=mail.length;i++){
var bodytext = "<html><table><tr><th>Request</th></tr><‌​tr>" + mail[i]+"</tr></table></html>";

}
window.postMsg({body:bodytext,subject:"DATA"}, "*");

我试过这个。但上面给出的结果是

   Request
<tr>undefined

但我需要在我的邮件中得到类似的结果

Request
 100
 200
 300
 400

我们怎样才能做到这一点。任何帮助表示赞赏!

【问题讨论】:

  • 你说的是数组,但你的语法看起来像对象?它是一个对象吗?
  • 尝试控制台日志邮件并在此处发布
  • @MehulMohan ["5007348100-012017-02-24 09:16:14.885", "500 2017-02-24 09:10:36.608", "500 2017-02-23 16:16 :53.260", ]
  • 不像你说的 ["100","200",...]

标签: javascript jquery html ajax node.js


【解决方案1】:

这是字符串连接和Array#join 方法的工作。

var body = '<html><table><tr><th>Request</th></tr><tr><td>'
  + mail.join('</td></tr><tr><td>') + '</td></tr></table></html>'

window.postMsg({ body: body, subject: 'DATA' }, '*')

演示

var mail = [100, 200, 300, 400]

var body = '<html><table><tr><th>Request</th></tr><tr><td>'
  + mail.join('</td></tr><tr><td>') + '</td></tr></table></html>'

document.body.innerHTML = body.slice(6, -7)

// uncomment when you want to use
// window.postMsg({ body: body, subject: 'DATA' }, '*')

【讨论】:

  • 它有效,但它看起来不像表格..我们如何在此处添加样式标记以向该 html 添加单元格填充和单元格间距
  • 你看到了什么?它只是纯文本(就像你看到所有的 `... 东西)还是有其他样式问题?
  • 不..我的意思是它和你的演示一样工作..但是我想在表格中添加单元格填充和单元格间距..我们该怎么做?
  • This article from MDN 应该为您指明正确的方向。
【解决方案2】:

试试吧,希望能成功

var mail = {"100","200","300","400"};
var bodytext  = "<html>";
   bodytext +=     "<body>";
   bodytext +=     "<table>";
   bodytext +=       "<tr>";
   bodytext +=         "<th>Request</th>";
   bodytext +=       "</tr>";

   $(mail).each(function(index,element){
      bodytext +=       "<tr>";
      bodytext +=         "<td>" + element +  "</td>";
      bodytext +=       "</tr>";
   });

   bodytext +=    "</table>";
   bodytext +=     "<body>";
   bodytext  += "<html>";

window.postMsg({body:bodytext,subject:"DATA"}, "*");

【讨论】:

  • 你知道var mail = {"100","200","300","400"}; 是完全错误的吗?
  • 你可以用数组替换它,它会像以前一样工作
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-12-28
  • 2014-01-04
  • 2019-01-01
  • 2016-06-17
  • 1970-01-01
  • 1970-01-01
  • 2020-02-26
相关资源
最近更新 更多