Jquery - 根据sql结果的值更改字体颜色
Posted
技术标签:
【中文标题】Jquery - 根据sql结果的值更改字体颜色【英文标题】:Jquery - change font color based on value of sql result 【发布时间】:2013-06-18 08:19:44 【问题描述】:我希望使用 jquery 更改 div 的字体颜色,其中 div 由 SQL 查询的输出填充。
我有:
$(document).ready(function()
$('#foo').each(function()
if ($(this).text() == 'bar')
$(this).css('color','orange');
);
);
来自当 div 包含文本时可以正常工作的 SO 搜索。
但由于这是 SQL,我在 div 中填充:“.$row['result']。”
现在这不起作用。我猜这是因为 sql,虽然是一个 varchar 字段是一个 $variable 并且不是 'text' 本身吗?
我确信这很简单,但我很难在谷歌中用这个词来返回任何有用的东西。
非常感谢。
编辑
整个过程相当长,在我尝试添加 jquery 之前一切正常,所以我将发布添加内容。
这是在头脑中:
echo "<script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.js'></script>";
echo "<script type='text/javascript'>";
echo "$(document).ready(function() $('#foo').each(function() if ($(this).text() == 'bar') $(this).css('color','orange');););";
然后我在 while 循环中回显每一行:
$sql = "选择..."; $result = mysql_query($sql) 或死(mysql_error()); while($row = mysql_fetch_array($result))
echo "<div id='foo'>".$row['result']."</div>";
整个文档都包含在 php 中,但它不是问题的根源,就好像我将 div 更改为包含文本而不是“.$row['result']”。然后 jquery 在它上面执行就好了。
【问题讨论】:
SQL(我猜你使用 PHP?)是服务器端,而 jQuery 是客户端。您可以发布用于从 SQL 更改颜色的代码(jQuery 和 SQL)吗? #foo 代表 div 的 id 或任何其他 【参考方案1】:您为每个 div 赋予相同的 id(“foo”)。一个 id 在 html 中必须是唯一的,你最好为此使用一个类。你现在拥有.each()
函数的方式只会在一个元素上调用,可能是第一个。
像这样更改 HTML 输出:
echo "<div class='foo'>".$row['result']."</div>";
然后,相应地调整 jQuery 中的选择器:
$('.foo').each(function()
// ...
【讨论】:
【参考方案2】:您是使用 $.ajax 调用还是只是在页面加载时通过 PHP 嵌入值?
如果你使用 PHP 打印值,我猜你忘了回显该值:
".<?php echo $row['result']?>."
不只是:
".$row['result']."
【讨论】:
在上面编辑以显示 sql 以及我如何打印它。在尝试对其应用任何 Jquery 之前,页面上的一切都很好。只是“文本”是一个让我难过的 sql 结果。谢谢。 空格问题? ...尝试 $(this).text().trim() == 'bar' 。一般来说,定义css类而不是用jquery检查内容会更明显。以上是关于Jquery - 根据sql结果的值更改字体颜色的主要内容,如果未能解决你的问题,请参考以下文章
根据值更改表列颜色在剃须刀文件中使用 jquery 不起作用