javascript - 使用jquery使用选定的列从html表创建json对象

标签 javascript json jquery

我想知道如何解析 html 表来获取 json 对象,我可以使用 jquery 通过 $.post 发送该对象。

我有一张 table

<table id="Report">
 <thead>
  <tr>
   <th>Kod</th>
   <th>Nazwa</th>
   <th>Ilość</th>
   <th>Netto / 1szt.</th>
   <th>Suma brutto</th>
  </tr>
 </thead>
<tbody>
 <tr>
  <td>00171 </td>
  <td>SŁUP 50/1800 POŚREDNI(P) </td>
  <td>5</td><td>97.00 PLN </td>
  <td>394.31 PLN </td>
 </tr>
 <tr>
  <td>00172</td>
  <td>SŁUP 50/1800 NAROŻNY(P)</td>
  <td>1</td><td>97.00 PLN</td>
  <td>78.86 PLN</td>
 </tr>
 <tr>
  <td>00173 </td>
  <td>SŁUP 50/1800 KOŃCOWY(P) </td>
  <td>1</td><td>97.00 PLN </td>
  <td>78.86 PLN</td>
 </tr>
</tbody>
<tfoot style="font-weight: bold;">    
 <tr>
  <th colspan="3" style="text-align: right;">Razem netto: 1955.85 PLN</th>
  <th colspan="2" style="text-align: right;">Razem brutto: 2405.69 PLN</th>
 </tr>
 </tfoot>
</table>

我需要的是这种格式的 json 对象(第一个 <td> 和第三个 <td> ):

[{"00171":5},
 {"00172":1},
 {"00173":1}
]

我可以通过以下方式发送

$.post(  
 "print.php",  
 {json: myjsonvar},  
 "json"  
);

知道如何做到这一点吗?

谢谢

最佳答案

var json = [];
$('#Report').find('tbody tr').each(function(){
    var obj = {},
        $td = $(this).find('td'),
        key = $td.eq(0).text(),
        val = parseInt( $td.eq(2).text(), 10 );
    obj[key] = val;
    json.push(obj);
});

关于javascript - 使用jquery使用选定的列从html表创建json对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11043221/

相关文章:

javascript - 一种解码 HTML 实体的简单 JavaScript 方法,适用于浏览器和 Node

javascript - 边框布局中的折叠面板 : Permanent expand on title-click

json - 将 JSON 文件读取到 Object Kotlin

sql - 读取嵌套 JSON 返回 NULL

javascript - 通过类名获取ID

javascript - 使用 jQuery 在 HTML 字符串中循环遍历类名

javascript - 使用自定义 Controller 在不同 View 中共享范围

javascript - 浏览器是真正逐行读取 JavaScript 还是多次通过?

Jquery UI-ContextMenu 触发文本选择菜单

javascript - javascript中的JSON解析,数据始终是未定义的