将HTML表转换为数组

时间:2015-08-07 09:51:54

标签: javascript php jquery html

我有一个html表

<?php
    echo date("d-m-Y", strtotime("$todt")); 
?>

现在,我想使用<table> <tr> <th>Type</th> <th>Text</th> <th>Time</th> <th>Notification Time</th> </tr> <tr> <td>Lab1</td> <td>Some Text</td> <td>Day of Week</td> <td>Monday, Wednessday</td> </tr> <tr> <td>Lab2</td> <td>Some Text</td> <td>Day of Week</td> <td>Tuesday, Wednessday</td> </tr> </table> 的这些值,并在<td>php中形成一个数组。 知道如何以最简单的方式做到这一点吗?

3 个答案:

答案 0 :(得分:2)

在jquery中:

var tdCollection = $("table").find("td");
var array = [];
$.each(tdCollection, function(key, el){    
     array.push($(el).text());     
});
console.log(array);

小提琴:http://jsfiddle.net/qqdwct7h/

但是为表设置id属性会更好,因为使用$(table)不是选择某个表的最佳方法。

答案 1 :(得分:2)

检查这个jQuery遍历和Ajax示例:)

<script type="text/javascript">
    var tableRows = $("table tr"),
        currentRow,
        tableData = [];

    for (var i = tableRows.length; i--;) {
        currentRow = $(tableRows[i]);

        tableData.push({
            field1: $(":nth-child(1)", currentRow),
            field2: $(":nth-child(2)", currentRow),
            field3: $(":nth-child(3)", currentRow),
            field4: $(":nth-child(4)", currentRow)
        });
    }

    //Sample Test to verify if data is fetched
    console.log(tableData);

    $.ajax({
        url: "sample-ajax-handler.php",
        type: "POST",
        data: tableData,
        success: function (e) {
            //do what you want here :)
        }
    });
</script>

答案 2 :(得分:0)

我写了一个小提琴,允许根据列生成一个数组:

http://jsfiddle.net/5vfm6k6q/2/

像这样工作:

var parser = new ArrayParser(),
    result = parser.getArray('#table', 'Type');  // table selector, column