将HTML表转换为JSon

时间:2012-08-14 12:50:19

标签: jquery json html-table

在我的MVC 3 Razor视图中,我有table with check-boxes如下

 <table border="1" id="permiison">
 <thead>
    <tr><th style="width:0px"></th><th>Menu Name</th><th>Add</th> <th>Edit</th><th>Authorize</th><th>View</th></tr>
</thead>
<tbody>
    <tr id="per_tr">
    <td style="width:0px">10</td><td></td><td><input type="checkbox" checked="True" style="width:80px" id="chkAdd"></td><td><input type="checkbox"   checked="True" style="width:80px"></td><td><input type="checkbox" checked="True" style="width:80px"></td> <td><input type="checkbox" style="width:80px" checked="True"></td>
    </tr>

    <tr id="per_tr"><td style="width:0px">11</td><td><span style="width:150px">Group</span></td><td><input type="checkbox" checked="True" style="width:80px" id="chkAdd"></td><td><input type="checkbox" checked="True" style="width:80px"></td><td><input type="checkbox" checked="True" style="width:80px"></td> <td><input type="checkbox" style="width:80px" checked="True"></td>

    </tr>
</tbody>
</table>

我希望convert the table into json选中复选框的值。 如果有人知道请分享方法。

2 个答案:

答案 0 :(得分:3)

您可以执行以下操作:

(function($){
    var getJsonFromTable = function()
        {
            var rows = [];
            $('#permiison tbody tr').each(function(i, n){
                var $row = $(n);
                rows.push({
                    id: $row.find('td:eq(0)').text(),
                    name: $row.find('td:eq(1)').text(),
                    add: $row.find('td:eq(2) input[type=checkbox]').prop('checked'), 
                    edit: $row.find('td:eq(3) input[type=checkbox]').prop('checked'), 
                    authorize: $row.find('td:eq(4) input[type=checkbox]').prop('checked'), 
                    view: $row.find('td:eq(5) input[type=checkbox]').prop('checked'),                                              
                });                
            });
            return JSON.stringify(rows);
        };
    $(function(){        
    console.log(getJsonFromTable ());
    });
})(jQuery);

http://jsfiddle.net/PKFaE/

答案 1 :(得分:0)

或者在这里查看并根据自己的情况(成功回答问题)做同样的事情:

convert a HTML table data into a JSON object in jQuery

祝你好运,希望这对你有所帮助。