更改具有Null值的单元格的背景颜色

时间:2015-08-22 19:08:29

标签: php jquery css mysqli

我正在尝试简化以下代码;我有一个表填充了数据库中的数据。我需要突出显示没有值的单元格(背景颜色:黄色)。我有以下代码,但似乎非常繁琐:

if ($record["ADASentToClient"]==NULL)
echo "<td style=background-color:#fee0e0><div class='TableHead' ><input type=text size=4 name=ADASentToClient value='$record[ADASentToClient]' /></div></td>";
else if ($record["ADASentToClient"])
echo "<td style=background-color:><div class='TableHead' ><input type=text size=4 name=ADASentToClient value='$record[ADASentToClient]' /></div></td>";

有没有JQuery方法呢?我试过css

input[type="text"], textarea:empty {
background-color : yellow; }

但输入类型=文本

是不能正常工作

3 个答案:

答案 0 :(得分:0)

我认为这很接近你可能需要的东西。

<?php  
    $records = array(
        array('ADASentToClient' => null),
        array('ADASentToClient' => 'foo'),
        array('ADASentToClient' => 'bar'),
    );
?>
<html>
<style>
.yellow {
    background-color: yellow; 
}
</style>
<body>

<table>
<tr>
<?php foreach($records as $record) { ?>
<td class="<?php if(!isset($record['ADASentToClient'])) { echo 'isNull'; } ?>">
    <div class="TableHead">
        <input type="text" size="4" name="ADASentToClient" value="<?php echo htmlspecialchars($record['ADASentToClient']); ?>" />
    </div>
</td>
<?php } ?>
</tr>
</table>

<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
<script>
$(function(){
    $('.isNull').find('input[type="text"]').addClass('yellow');
});
</script>
</body>
</html>

答案 1 :(得分:0)

$(document).ready(function(){
  $('input[type="text"], textarea').each(highlightEmpty);
  $('input[type="text"], textarea').on('keyup input',highlightEmpty);
})
function highlightEmpty(){
  if($(this).val() == '')
    $(this).addClass('highlight');
  else
    $(this).removeClass('highlight');
}
.highlight{
  background-color : yellow;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<input type="text"/><input type="text"/><input type="text"/>
<input type="text"/><input type="text"/><input type="text"/>
<textarea></textarea><textarea></textarea>
<textarea></textarea><textarea></textarea>

答案 2 :(得分:0)

以下是您可以使用的css语法

https://jsfiddle.net/zLob82gm/

CSS

textarea:empty {background:yellow;}
input[value=""] {background:yellow;}

HTML

<textarea></textarea>
<input type="text" value='' />