如何使用jquery查找任何特定列的网格最后一行值

时间:2014-02-19 05:45:46

标签: javascript jquery asp.net

我有网格跟随

我的网格ID为Grid

Home   Reading Value
abc    9        a1
bnc    0        a2

现在,我想检查列Reading,其最后一个值为0,使其成为NA

我试过跟随

function Changes() {
            var column;
            $("#Grid thead tr th").each(function () {

                var txt = 'Reading';
                 column = $('#Grid thead tr th').filter(function () {
                    return $(this).text() === txt;
                }).index();                 

            });
            $("#Grid tbody tr td:eq(" + column + ")").each(function () {
                debugger;
                if ($(this).text() == "0") {
                    $(this).text("NA");
                }
            });
        }

对于Html enter image description here 但它不起作用我错过了什么?

2 个答案:

答案 0 :(得分:1)

如果您确定阅读的位置(最后一个单元格),那么您可以尝试

function Changes() {
    var index = $("#Grid thead tr > *").filter(function () {
        return 'Reading' == $.trim($(this).text())
    }).index();
    $('#Grid tbody tr td:nth-child(' + (index + 1) + ')').text(function (i, text) {
        return $.trim(text) == '0' ? 'NA' : text;
    });
}
Changes();

演示:Fiddle

选择器$("#Grid tbody tr td:eq(" + column + ")")的问题是,它在所有行中选择给定索引处的单元格,因为#Grid tbody tr td返回所有tds并且它在给定索引column处获取一个而不是在每一行中找到给定的索引

答案 1 :(得分:0)

你最后一个值是0是什么意思?比如最后一行有0?

你可以尝试

var column = $("#Grid thead tr th").index(":contains(Reading)");

$("#Grid tbody tr td:eq(" + column + "):contains(0):last").text('NA');

您可以在这里查看它的作用http://jsfiddle.net/4YmzW/