获取列值onclick HTML表格

时间:2014-05-31 14:59:24

标签: javascript html-table

我有这个html表:

tabela

   |A|B|C|D|
   _________
001|M|N|O|P|
002|R|S|T|U|

使用这个脚本,我可以获得第1行,e。 onclick N得到值001

var table = document.getElementById("tabela");
var rows = table.rows;
for (var i = 1; i < rows.length; i++) {
    rows[i].onclick = (function() {
        var rowid = (this.cells[0].innerHTML); 
        window.location.href = "next.php?rowidphp="+ rowid;
               });
            }

问题是我需要获得第1列的值,e。 onclick N shuld得到值B

我正在尝试一切,但我可​​以达到这一点.....

3 个答案:

答案 0 :(得分:3)

这里是小提琴:http://jsfiddle.net/t7G6K/

var table = document.getElementById("tabela");
var rows = table.rows;
for (var i = 1; i < rows.length; i++) {
    rows[i].onclick = (function (e) {
        var rowid = (this.cells[0].innerHTML);
        var j = 0;
        var td = e.target;
        while( (td = td.previousElementSibling) != null ) 
            j++;
        alert(rows[0].cells[j].innerHTML);
    });
}

答案 1 :(得分:0)

试试这个:

table = document.getElementById("tablea");
var rows = table.rows;
for (var i = 1; i < rows.length; i++) {
    rows[i].cells[2].onclick = function (e) {
        rowid = e.target.previousElementSibling.previousElementSibling.textContent;
        alert(rowid);
    };
}

以下是 Demo

答案 2 :(得分:0)

jsFiddle http://jsfiddle.net/2dAkj/9/#

好的jQuery我会这样做。

$(function () {
    $('table').on('click', function (e) {
        var x = $(e.target);
        var index = x.parents('tr').find('td,th').index(x);
        alert($(x.parents('table').find('tr').first().find('td,th')[index]).text());
    });
});