Javascript Jquery - 在复选框上单击更改表格单元格颜色

时间:2013-10-03 03:49:01

标签: javascript jquery matrix checkbox html-table

我正在创建一个交叉矩阵,我将在其中交叉条目;像男性和女性。我使用动态生成的表来完成此操作,其中每个单元格都与女性的十字架相关。

看起来像这样:

Female/Male | Male1 | Male2 |
------------------------------
Female1     |   x   |   x   |
------------------------------
Female2     |   x   |   x   |
-----------------------------

上面是一个表格,每个单元格都包含一个用于标识十字架的复选框。

下面是我用于使用php生成表格的代码:

<table>
<?php
    foreach($females...){
       echo "<tr>";
       ...so on
       //set up the rows and headers
       foreach($males...){
              echo "<td ...><input type='checkbox'../></td>
              ..and so on
       }    
    }

?>
</table>

点击中的复选框后,我需要为单元格着色,如绿色或红色。我如何在 Jquery / Javascript?中执行此操作,以及如何识别每个单元格,并知道它所属的值(交叉)?如果它是动态的 - 男性和女性的数量无限期且变化,以便细胞和复选框的数量也是不确定的?

1 个答案:

答案 0 :(得分:1)

这假设你想要在选中时做绿色,否则做红色。你没告诉我们哪个。

找到复选框的父级。我和parents()这样做总是因为如果一个元素稍后被添加到堆栈中,你的代码就搞砸了,你不知道为什么。

<td ...><input type='checkbox' 
         onclick="$(this).parents('td').css('background-color', $(this).is(':checked') ? 'green' : 'red');" />
</td>

在必要时添加转义引号以使其与php的echo命令一起使用。