【问题标题】:Render an HTML table having multiple tbody elements using Ajax使用 Ajax 渲染具有多个 tbody 元素的 HTML 表格
【发布时间】:2013-11-26 09:27:44
【问题描述】:

我正在尝试使用 Ajax 数据负载在 html 中呈现表格。 ajax数据结构如下:-

{"id":733,
 "lastUpdatedBy":"4",
 "lastUpdatedTime":"2013-11-24 03:00:03PM",
 "jobName":"jobnameA",
 "accountName":"accountname1A"
} 

要渲染的表格的Html如下:-

    <table id="main_table">
       <thead>
        <tr class="firstline">
        <th>Column1</th>
        <th>Column2</th>
        <th>Column3</th>
     </tr>
    </thead>
     <tbody>
     <tr style="background-color:green; color:white">
        <td  colspan="4" class="flip" id="fisrtsec"> Test Account 19 </td>
     </tr>
    </tbody>
    <tbody class="section">
    <tr>

        <td>item id</td>
        <td>item jobName</td>
        <td>item accountName</td>

    </tr>
    <tr>
    <td></td>
        <td>item 121</td>
        <td>item 122</td>
        <td>item 123</td>
        <td>item 124</td>
     </tr>
     <tr>
      <td></td>
        <td>item 131</td>
        <td>item 132</td>
        <td>item 133</td>
        <td>item 134</td>
      </tr>
     </tbody>
     <tbody>
     <tr style="background-color:green; color:white">
        <td  colspan="4" class="flip"> Section 2 </td>
     </tr>
   </tbody>
   <tbody class="section">
    <tr>
     <td></td>
        <td>item 211</td>
        <td>item 212</td>
        <td>item 213</td>
        <td>item 214</td>
     </tr>
     <tr>
     <td></td>
        <td>item 221</td>
        <td>item 222</td>
        <td>item 223</td>
        <td>item 224</td>
     </tr>
      <tr>
     <td></td>
        <td>item 231</td>
        <td>item 232</td>
        <td>item 233</td>
        <td>item 234</td>
       </tr>
    </tbody>

    </table>

我正在使用 Jquery 库。我的 jquery 是

 $.each(data, function(key, val) {
    $('<tr><td>ID: '+key+'</td><td id="'+key+'">'+val+'</td>   
  <tr>').appendTo('#main_table');
     });

感谢任何帮助。感谢您的关注。

【问题讨论】:

  • 您的 HTML 部分顶部似乎缺少一些标记。你有任何 JavaScript 代码要发布吗?你试过什么?您正在使用哪些框架/库(如果有)?

标签: javascript html ajax


【解决方案1】:

我不认为拥有多个tbody 是有效的标记。说了这么多,试试吧。

('<tr><td>ID: '+key+'</td><td id="'+key+'">'+val+'</td><tr>')
  .appendTo('#main_table tbody:last');

使用:last 将追加到表格的末尾。

【讨论】:

  • 感谢您的解决方案。我试过上面的代码。它工作正常。但是,我希望使用“翻转”类(在 html 表中)切换部分,以便我可以显示/隐藏块 - ,因此有多个 标签。
  • 我认为使用多个 tbody 元素应该没问题。根据这里的问题 - link
猜你喜欢
相关资源
最近更新 更多
热门标签