-1

我在页面上有几个表,我需要运行一个循环来获取所有列值并将它们保存在一个逗号分隔的字符串中(我会将这些字符串传递给 ASP.NET 页面的隐藏字段)。我如何编写一个循环,以便它可以从“Route1”表中读取列值。不幸的是,我不能仅仅因为用户可以使用 (jQuery) 将它们从一个表移动到另一个表,就依赖于 TR 和 TD 的#ID。

简单来说,我如何编写一个循环来读取下表的列值

<table ID = "Route1">
    <tr>
        <td>row 1 col1</td> <td> row1 col2 </td>
    </tr>
    <tr>
       <td>row 1 col1</td> <td> row1 col2 </td>
   </tr>
</table>


<table ID = "Route2">
    <tr>
        <td>row 1 col1</td> <td> row1 col2 </td>
    </tr>
    <tr>
        <td>row 1 col1</td> <td> row1 col2 </td>
    </tr>

</table>
4

4 回答 4

2

尝试这个:

var str = $("table:first").find("td").map(function(){
               return $(this).text()
          }).get().join(',')

演示

于 2012-07-24T21:48:16.530 回答
1
var values = [];

$('#Route1 td').each(function () {
    values.push( $(this).text() );
});

var myString = values.join(',');

演示:http: //jsfiddle.net/2xpFZ/

于 2012-07-24T21:48:26.803 回答
0

这是一种用纯 JavaScript 执行此操作的方法:

function getTableCells(id) {
    var data = [];
    var cells = document.getElementById(id).getElementsByTagName("td");
    for (var i = 0; i < cells.length; i++) {
        data.push(cells[i].innerHTML);
    }
    return(data.join(","));
}

var str = getTableCells("Route1");
于 2012-07-24T22:12:32.057 回答
0
$('#Route1 td').map(function() {
  return $(this).text();
}).get().join(',')

然而,一个普通的 JavaScript 循环会更加高效。

于 2012-07-24T21:55:33.307 回答