更改背景颜色取决于值

时间:2019-01-14 14:21:43

标签: javascript php jquery html

我将尽最大努力解释我的问题并尝试找到解决方案。我的表中有一个名为Status的单元格,我需要添加代码以依赖于值,如果问题是打开的,请添加类open <td class='open'></td>,如果问题被保留,请添加类onHold <td class='onHold'></td> ...从我得到的价值?从数据库中,代码如下所示:

<tbody class="list-group-item-success"> // DEFAULT COLOR IS GREEN
    <tr>
        <td><?php echo $row['questionStatus'] ?></td>
    </tr>
</tbody>

单元格的默认颜色为绿色,因为在发布问题时,默认为打开状态,直到管理员更改为保留,关闭或挂起状态。因此,接下来是在<td class=" HERE "></td>中添加一些代码,我认为最好的是简短的javascript,如果封闭类添加绿色或添加红色(我将在css文件中定义),它将由问题状态的值定义。如果您需要有关此的更多信息,请写信给我。

谢谢

2 个答案:

答案 0 :(得分:2)

如果您可能的值,我认为不需要创建if / else语句

$row['questionStatus']

是:

'closed', 'open' and 'onHold' (any other word without spaces)

您唯一需要做的就是用这些名称示例创建css类:

.status-opened, .status-closed, .status-onHold

然后您需要以这种方式实现

<td class="status-<?php echo $row['questionStatus'] ?>">

因此,当$ row ['questionStatus']确定有关值的最终渲染为:

<td class="status-opened">
<td class="status-closed">
<td class="status-onHold">

如果您想更改背景而无需重新加载页面,则需要使用JS素材,我也可以举一个例子。

答案 1 :(得分:1)

您可以使用切换语句:

<?php
 switch($row['questionStatus']){
  case 'this': $class = 'this'; break;
  case 'that': $class = 'that'; break;
  default:     $class = 'dflt';
 }
?>

并在class属性中输出$ class-var

<tbody class="something <?php echo $class ?>">

别忘了定义css类。

打开/关闭简单示例:

<?php

 $class = 'closed';
 if($row['questionStatus'] == 'open'){
  $class = 'open';
 }

其余的都一样。