通过循环表与每个..how的onclick函数形成表?

时间:2014-01-18 04:50:36

标签: javascript php jquery html

这是我通过循环创建表的代码。我希望在每个..添加一个onclick函数,在单击特定单元格时,背景颜色会发生变化..但是出现错误。 我做错了什么?

<head>

<script>
function changeColor(elem)
{     
elem.style.background = "red";     
}
</script>
</head>

<body>
<?php
$rows = 10; // define number of rows
$cols = 4;// define number of columns

echo "<table border='1'>";

for($tr=1;$tr<=$rows;$tr++){

    echo "<tr>";
        for($td=1;$td<=$cols;$td++){
               echo "<td onclick=\"changeColor(this)\" > ".$tr." ".$td."</td>";
        }
    echo "</tr>";
}

echo "</table>";
?>

</body>
</html>

3 个答案:

答案 0 :(得分:3)

你错过了逃避报价。它应该是:

echo "<td onclick=\"changeColor(this)\" > ".$tr." ".$td."</td>";

或者您可以对onclick属性使用单引号:

echo "<td onclick='changeColor(this)' > ".$tr." ".$td."</td>";

答案 1 :(得分:2)

您的echo语句无法转义引号

echo "<td onclick="changeColor(this)" > ".$tr." ".$td."</td>";

改为:

echo  echo "<td onclick='changeColor(this)'> $tr $td </td>";

当PHP置于双引号内时,PHP会将变量替换为值。因此,当你在双引号中使用变量

时,你不需要任何连词

答案 2 :(得分:0)

你可以试试这个

for($td=1;$td<=$cols;$td++)
{
?>

<td onclick="changeColor(this)" ><?php echo $tr." ".$td;?></td>
<?php
}

从php代码中分离html