[英]Convert HTML table data to JSON using javascript/jquery
單擊“ +”按鈕時,將動態生成我的表行。 當我填充字段並單擊“提交”按鈕(“ +”旁邊)時,我的JSON將顯示到控制台,如下圖所示。
當我生成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.