jQuery 表生成器未附加 <tr> 标记

扬·科奇维克

我编写了一个带有过滤功能的小型 jQuery 表生成器。问题是脚本正在创建<tr>,同时他关闭,</tr>因此显示的所有项目<td>都在其行(<tr>标签)之外。

它看起来很好看,因为老实说你看不到任何区别(至少在 Firefox 中),但其他功能因为这个错误而挣扎(我稍后会根据这个表生成 CSV 并且有至关重要的<tr><td>) 的良好结构

这是我的代码,生成在空行之后开始,部分以$("table").empty();(此代码之前的所有内容只是格式化数据)开始。

    $('#js_changeFilterForm').on('submit', function(e){
      e.preventDefault();
      var filters = $('#js_changeFilterForm').serialize(); //gathering filter inputs
      filters = filters.split("=on&"); //cleaning filter array          
      //Array corruption fix prototype
      var ss = [];
      $.each(filters, function(key, value){
        var lol = value;
        ss.push(lol);
      });
      ss = ss.join("=on");
      filters = ss.split("=on");
      filters.splice(-1,1);
      //End of fix prototype
      let data = <?php echo $js_result; ?>; //gathering data

      //Clear and generate new table with filtered data
      $("table").empty();
      $("table").append('<thead> <tr>');
      $.each(filters, function(filter_key, filter_value){
        $("table").append('<th>'+ filter_value +'</th>');
      });
      $("table").append('</tr></thead><tbody>');
      $.each(data["data"], function(key, value){
        $("tbody").append("<tr>");
        $.each(filters, function(filter_key, filter_value){
          $("tbody").append('<td> '+value[filter_value]+'</td>');
        });
      });
    });

生成表格后的HTML结果如下所示:

<table>
 <thead>
   <tr></tr>
 </thead>
 <th> id </th>
 <th> name </th>
 <th> code </th>
 <tbody>
   <tr></tr>
   <td>1</td>
   <td>John</td>
   <td>Hey that's me!</td>
   <tr></tr>
   <td>2</td>
   <td>Nick</td>
   <td>Good guy</td>
 </tbody>

我想我没有理解$.each(),这就是为什么它会像这样生成表格,因为我试图将它用作foreach.

感谢您的任何帮助。

自由落体者

您正在向<tr>the添加 a<tbody>但然后添加<td>到相同的<tbody>...

$("tbody").append("<tr>");
$.each(filters, function(filter_key, filter_value){
  $("tbody").append('<td> '+value[filter_value]+'</td>');
});

您需要创建<tr>并存储它...然后将...添加<td><tr>...

var $td = $("<tr>").appendTo($("tbody"));
$.each(filters, function(filter_key, filter_value){
  $td.append('<td> '+value[filter_value]+'</td>');
});

请注意,我使用的是.appendTo代替.append,以便它返回新<tr>元素

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从Jquery数据表的<tr>标记获取ID

来自分类Dev

从Jquery数据表的<tr>标记中获取ID

来自分类Dev

在表中附加 </tr> 标记未读取

来自分类Dev

jQuery动态表在前导<tr>标记上的不同位置具有不同的格式

来自分类Dev

jQuery如何在单击时都删除<tr>标记?

来自分类Dev

TR折叠时<TR>标记中的jQuery next不起作用

来自分类Dev

TR折叠时,<TR>标记中的jQuery next不起作用

来自分类Dev

如何使用在<tr>标记下包含<th>和<td>标记的行来解析HTML表?

来自分类Dev

JQuery 数据表 OnClick tr td :NOT tr th

来自分类Dev

使用jQuery将td附加到表中的tr

来自分类Dev

jQuery $.each 或 $.map 将 <tr> 附加到动态添加的表

来自分类Dev

如何使用jquery将<i>标记附加到<a>标记

来自分类Dev

在for循环内创建<tr>标记

来自分类Dev

单击图像按钮 jquery 生成 tr

来自分类Dev

将html标记附加到表头Jquery

来自分类Dev

将html标记附加到表头Jquery

来自分类Dev

使用生成器标记记录时保留ID参考

来自分类Dev

将表行<tr>放在<a>标记内在语义上是否正确?

来自分类Dev

当用户单击表的第<tr>行时,将单选标记为已选中

来自分类Dev

Javascript和Jquery Quotes生成器

来自分类Dev

jQuery .click()无法在Ajax的附加<tr>上运行

来自分类Dev

在tbody的<tr>标记内获取输入?

来自分类Dev

抓取数据时无法获取<tr>标记

来自分类Dev

Jquery,使用自定义 ID 创建表标记,然后引用该 ID 并向其附加新标记

来自分类Dev

jQuery仅在主表中选择tr,而不在嵌套表中选择tr

来自分类Dev

jQuery:将tr应用于表tbody可以防止tr点击功能

来自分类Dev

jQuery将tr背景颜色更改为表中的特定tr

来自分类Dev

jQuery:将tr应用于表tbody可以防止tr点击功能

来自分类Dev

如何在.html标记内附加jQuery变量值

Related 相关文章

  1. 1

    从Jquery数据表的<tr>标记获取ID

  2. 2

    从Jquery数据表的<tr>标记中获取ID

  3. 3

    在表中附加 </tr> 标记未读取

  4. 4

    jQuery动态表在前导<tr>标记上的不同位置具有不同的格式

  5. 5

    jQuery如何在单击时都删除<tr>标记?

  6. 6

    TR折叠时<TR>标记中的jQuery next不起作用

  7. 7

    TR折叠时,<TR>标记中的jQuery next不起作用

  8. 8

    如何使用在<tr>标记下包含<th>和<td>标记的行来解析HTML表?

  9. 9

    JQuery 数据表 OnClick tr td :NOT tr th

  10. 10

    使用jQuery将td附加到表中的tr

  11. 11

    jQuery $.each 或 $.map 将 <tr> 附加到动态添加的表

  12. 12

    如何使用jquery将<i>标记附加到<a>标记

  13. 13

    在for循环内创建<tr>标记

  14. 14

    单击图像按钮 jquery 生成 tr

  15. 15

    将html标记附加到表头Jquery

  16. 16

    将html标记附加到表头Jquery

  17. 17

    使用生成器标记记录时保留ID参考

  18. 18

    将表行<tr>放在<a>标记内在语义上是否正确?

  19. 19

    当用户单击表的第<tr>行时,将单选标记为已选中

  20. 20

    Javascript和Jquery Quotes生成器

  21. 21

    jQuery .click()无法在Ajax的附加<tr>上运行

  22. 22

    在tbody的<tr>标记内获取输入?

  23. 23

    抓取数据时无法获取<tr>标记

  24. 24

    Jquery,使用自定义 ID 创建表标记,然后引用该 ID 并向其附加新标记

  25. 25

    jQuery仅在主表中选择tr,而不在嵌套表中选择tr

  26. 26

    jQuery:将tr应用于表tbody可以防止tr点击功能

  27. 27

    jQuery将tr背景颜色更改为表中的特定tr

  28. 28

    jQuery:将tr应用于表tbody可以防止tr点击功能

  29. 29

    如何在.html标记内附加jQuery变量值

热门标签

归档