简体   繁体   English

将html表转换为json对象(在表单元格中带有文本框)

[英]convert html table to json object (with text boxes in table cell)

i have table like this 我有这样的桌子

在此处输入图片说明

there are textboxes in table cell 表格单元格中有文本框

im trying to convert this table to json object using 我正在尝试使用以下方式将此表转换为json对象

var InvoiceData = {};   
InvoiceData = $('#invoiceDetailTbl').tableToJSON();

but values in text boxes not added to json object 但是文本框中的值未添加到json对象

function tableToJson(table) {

         var data = [];


    // first row needs to be headers
    var headers = [];
    for (var i=0; i<table.rows[0].cells.length; i++) {
        headers[i] = table.rows[0].cells[i].innerHTML.toLowerCase().replace(/ /gi,'');
    }

    // go through cells
    for (var i=1; i<table.rows.length; i++) {

        var tableRow = table.rows[i];
        var rowData = {};

        for (var j=0; j<tableRow.cells.length; j++) {

            rowData[ headers[j] ] = tableRow.cells[j].innerHTML;

        }

        data.push(rowData);
    }       

    return data; 
}

i have found the solution, i'll done it manually 我找到了解决方案,我将手动完成

var table = document.getElementById('invoiceDetailTbl');
    var tableRowCount = $("#invoiceDetailTbl > tbody > tr").length;
    for (var i = 1; i <= tableRowCount; i++) {
        var obj = {
            Inv_Date: table.rows.item(i).cells[0].innerText,
            Bill_No: table.rows.item(i).cells[1].innerText,
            Net_Amt: table.rows.item(i).cells[2].innerText,
            Paid_Amt: table.rows.item(i).cells[3].innerText,
            Pay_Dis: $(table.rows.item(i).cells[4]).find('input').val(),
            Paying_Amt: $(table.rows.item(i).cells[5]).find('input').val(),
            Balance: table.rows.item(i).cells[6].innerText,
        };
        InvoiceData.push(obj);
    }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM