4

我似乎在任何地方都找不到这个。我有一个像这样的数据表,我希望能够在 javascript 中计算数据表中的行数。那将如何实现?谢谢!

我在 javascript 中需要它,因为我想遍历数据表并检查是否有任何行包含其中的某些数据。

示例伪代码

var tableSize = someway to get table size;
for (i = 0; i < tableSize; i++) {
if (dataTable.row(i).value == "someValue") {
    //do something
}
4

4 回答 4

14

使用jQuery计算行数会更容易:

var tableSize = $('#myTable tbody tr').length;

演示:http: //jsfiddle.net/YLVuK/1/

于 2012-07-24T19:49:29.667 回答
1

使用 jQuery,你可以简单地做

var tableSize = $("#myTable").find("tbody").find("td").length;

并使用 ID 为“myTable”命名您的表

于 2012-07-24T19:46:48.757 回答
0

您可以在支持 bean 的服务器端计算数据表中的行数,然后将 java 对象属性设置为等于行数。然后在您看来,您可以使用 el 表达式语言设置 javascript 变量。像这样的东西:

支持豆:

public class backer() {
    List<Cars> cars = new ArrayList<Cars>();

    public List<Cars> getCars() {
        return cars;
    }

    public void setCars(List<Cars> cars) {
        this.cars = cars;
    }

    public int numCars() {
        return cars.size();
    }
}

在您的 xhtml 文件中:

var tableSize = #{backer.numCars}
于 2012-07-24T20:44:58.290 回答
0

如果你的表有一个 id,你可以这样做:

var table = document.getElementById("tableId");
for(var i = 0, ceiling = table.rows.length; i < ceiling; i++) {
    var row = table.rows[i]; // this gets you every row
    for(var j = 0, ceiling2 = row.cells[j]; j < ceiling2; j++) {
        var cell = row.cells[j]; // this gets you every cell of the current row in the loop
        var cellContent = cell.innerHTML; // this gets you the content of the current cell in the loop
    }
}
于 2012-07-24T20:15:35.593 回答