所以我有一个脚本可以根据数据库中的列自动生成ID。像这样:
echo "<tr class='task' id='task-" . $row['task_id'] . "'>";
然后我有一个脚本,我希望它根据另一列的某些信息更改每个tr类名称。我尝试将相同的代码'task-". $row[task_id] ."'
放入document.getElementById
字段,但未在浏览器中解析。解决意味着它保持为'task-" . $row[task_id] . "'
而不是将$ row [task_id]更改为数字。我需要将更改更改为一个数字,以便它与tr
的ID相匹配。
var resolved = <?php echo $_SESSION['resolved']; ?>;
if (resolved == 1)
{
document.getElementById('task-" . $row[task_id] . "').className ="task resolved";
}
else
{
document.getElementById('task-" . $row[task_id] . "').className =" task";
}
答案 0 :(得分:2)
你需要像这样回显变量:
var resolved = <?php echo $_SESSION['resolved']; ?>;
if (resolved == 1)
{
document.getElementById('task-<?php echo $row['task_id'] ?>').className ="task resolved";
}
else
{
document.getElementById('task-<?php echo $row['task_id'] ?>').className =" task";
}
但最好不要在javascript中执行此操作,而是在PHP中执行此操作:
echo "<tr class='task " . ($_SESSION['resolved'] == 1 ? 'resolved' : '') ."' id='task-" . $row['task_id'] . "'>";
在生成HTML时添加resolved
类。但是,您可能需要一种更好的方法来测试任务是否已解决,因为$_SESSION['resolved'] == 1
它将所有任务标记为已解决。因此,假设您的行有一个像`$ row ['resolved']这样的列,您可以这样做:
echo "<tr class='task " . ($row['resolved'] == 1 ? 'resolved' : '') . "' id='task-$row[task_id]'>";
答案 1 :(得分:0)
如果您的状态位于该表的列中,则无需使用javascript。
if($row['resolved']=="1){
$class="task resolved";
} else {$class = "task";}
echo "<tr class='".$class."' id='task-" . $row['task_id'] . "'>";
或者更简单的版本......
echo "<tr class='task ".($row['resolved'] == 1 ? 'resolved' : '')."' id='task-".$row['task_id']."'>";