我可以访问位于我选择的单元格下方的表格单元格的值吗?

时间:2016-06-08 15:40:48

标签: jquery html-table

我有一个带有html的5X5表,每个单元格在点击后获得一个值。例如,如果我在第3行和第2列中选择了一个单元格,我想在第四行和第二列中获取单元格的值。

有表格:

<table>
        <tr>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>
    </table>

这是在单击单元格时更改单元格内容的脚本。

$('td').click(function() {
            $(this).html('X');
            $(this).toggleClass('X');        
            $(this).unbind("click");
});

我也试过这样的事情,但效果不好。

for (var i = 1; i < 5; i++) {
            for (var j = 1; i <= 5; j++) {

                var test1 = $("table tr:nth-child(" + i + ") td:nth-child(" + j + ")").html();
                var k = i+1;
                var test2 = $("table tr:nth-child(" + k + ") td:nth-child(" + j + ")").html();

}
}

2 个答案:

答案 0 :(得分:0)

此代码仅用于访问下一个单元格的值,而不是在任何单元格中生成值。第一个 if($ next =='')基本上检查所选单元格是否是行中的最后一个。如果是这样,它会跳到下一行并从第一个单元格开始。第二个 if($ next =='')检查表中是否有更多单元格。

<parent-container>
  <timer-container />
  <button ng-click="??.stopTimer()">Stop</button>
</parent-container>

AngularJS - How to make a stop watch starting from 00:00:00 format

修改

在重新阅读问题之后,我改变了jsFiddle以获取下一个垂直单元格值,因为我相信你要求的。如果用户选择该列中的最后一个值,则该值将从下一列中的第一个单元格中获取。

$('#table td').click(function(){
    var $next=$(this).next().text();
    if($next==''){
        $next=$(this).parent().next().find('td:first-child').text();
    }
    if($next==''){$next='No more data to display.';}
    alert($next);
});

See Example

答案 1 :(得分:0)

我尝试过使用几行代码的解决方案,您可以在此处进行测试https://jsfiddle.net/cw237zyb/

$("td").click(function(){   
   $($(this)[0]).children().attr('style','display:block');
   $($($('.row1')[0]).children()[1]).children().attr('style','display:block');
})
在脚本中你可以插入逻辑来显示下一个值, 我希望这很有用