动态 bootstrap table 导出到 json(使用 input/select)

dynamic bootstrap table export to json (with input/select)

我有一个动态 table 需要导出到 json。

check jsfiddle

<table class="table table-sm" id="tab_logic">
   <thead>
      <tr>
         <th class="text-center"> # </th>
         <th  scope="col"> Product </th>
         <th  scope="col"> Qty </th>
         <th  scope="col"> Price </th>
         <th  scope="col"> Total </th>
         <th  scope="col">Action</th>
      </tr>
   </thead>
   <tbody>
      <tr  scope="row" id='addr0'>
         <td> 1 </td>
         <td>
            <select class="form-control-sm">
               <option>Item1</option>

            </select>
         </td>
         <td><input type="number" name='qty[]' placeholder='Enter Qty' class="form-control-sm qty" step="0" min="0"/></td>
         <td><input type="number" name='price[]' placeholder='Enter Unit Price' class="form-control-sm price" step="0.00" min="0"/></td>
         <td><input type="number" name='total[]' placeholder='0.00' class="form-control-sm total" readonly/></td>
         <td >
            <button type="button" class="btn-sm btn-danger del">Del</button>
         </td>
      </tr>
   </tbody>
</table>

我使用了 的导出方法来确保从 table 中的输入和 select 对象获取数据:

var tbl = $('#tab_logic tbody tr').map(function (idxRow, ele) {
    //
    // start building the retVal object
    //
    var retVal = {
        id: ++idxRow
    };
    //
    // for each cell
    //
    var $td = $(ele).find('td').map(function (idxCell, ele) {
        var input = $(ele).find(':input');
        //
        // if cell contains an input or select....
        //
        if (input.length == 1) {
            var attr = $('#tab_logic thead tr th').eq(idxCell).text();
            retVal[attr] = input.val();
        } else {
            var attr = $('#tab_logic thead tr th').eq(idxCell).text();
            retVal[attr] = $(ele).text();
        }
    });
    return retVal;
}).get();

console.log(tbl);

alert(tbl);

当我提醒结果时,我得到一个空对象。 我做错了什么??

不是空对象但是alert无法显示,需要将变量转换为字符串。

alert(JSON.stringify(tbl));