将表中的数据存储到关联数组中

时间:2013-11-29 16:32:23

标签: jquery html html-table row

我正在尝试将数据存储到表中的关联数组中。 这是我的html表代码:

<table class="table" border="1" id="eidtPersonalInfoTbl">         
    <tr>    
        <td class="span3 hidden-phone">Name</td>    
        <td class="span5"> Name of Doctor </td>
    </tr>    
    <tr> 
        <td class="span3 hidden-phone">Address</td>
        <td class="span5"> Address of doctor </td>
    </tr>
    <tr>
        <td class="span3 hidden-phone">Area</td>
        <td class="span5"> Area</td>
    <tr>
 <table>

我试图通过以下代码访问表值:

<script type="text/javascript">
    $(document).on('click', '.editPersonalInfo', function() {
        modal();
        alert(obj['Name']);
        alert(obj['Address']);
        alert(obj['Area']);
    });

    function modal() {
        var table = $("#eidtPersonalInfoTbl");
        var trs = table.find('tr');
        var obj = {};
        $(trs).each(function(index, row) {
            var field = $(row).find('td').eq(0).text();
            var value = $(row).find('td').eq(1).text();
            obj[field] = [value];
        });
    }
</script>

但它不起作用。我怎么能解决这个问题?

1 个答案:

答案 0 :(得分:2)

HTML标记中没有任何editPersonalInfo类。请改用#eidtPersonalInfoTbl

尝试:

$(document).on('click', '#eidtPersonalInfoTbl', function () {
    var obj = modal(); //store object in a variable
    alert(obj['Name']);
    alert(obj['Address']);
    alert(obj['Area']);
});

function modal() {
    var table = $("#eidtPersonalInfoTbl");
    var trs = table.find('tr');
    var obj = {};
    $(trs).each(function (index, row) {
        var field = $(row).find('td').eq(0).text();
        var value = $(row).find('td').eq(1).text();
        obj[field] = [value];
    });
    return obj; //return object
}

Fiddle here.