簡體   English   中英

使用javascript / jquery將HTML表格數據轉換為JSON

[英]Convert HTML table data to JSON using javascript/jquery

單擊“ +”按鈕時,將動態生成我的表行。 當我填充字段並單擊“提交”按鈕(“ +”旁邊)時,我的JSON將顯示到控制台,如下圖所示。

HTMLtoJSON

當我生成JSON,我要排除未填充的行(在這種情況下,第3行)。 另外,我想排除第1欄(由3個按鈕組成)。

如我們所見,JSON數據包含很多“ \\ n”和“ \\ t”,這很煩人。

我通過引用某些堆棧溢出頁面來編寫以下代碼。

function createJSON(){

 var myJSON = { Key: [] };

 var headers = $('table th');
 $('table tbody tr').each(function(i, tr){
   var obj = {}, 

   $tds = $(tr).find('td');

   headers.each(function(index, headers){
     obj[$(headers).text()] = $tds.eq(index).text();
   });

   myJSON.Key.push(obj);
 });

 console.log(JSON.stringify(myJSON));

}

未填充的行具有<input>元素。 您可以使用排除它們的選擇器。

$('table tbody tr:not(:has(input))').each(...)

您可以使用.trim()標題周圍的所有換行符和其他空格字符:

headers.each(function(index, headers){
    obj[$(headers).text().trim()] = $tds.eq(index).text();
});

要跳過第一列,可以在選擇器中使用:gt(0)

var headers = $('table th:gt(0)');
var $tds = $(tr).find('td:gt(0)');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM