【问题标题】:Jquery - change font color based on value of sql resultJquery - 根据sql结果的值更改字体颜色
【发布时间】: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 "&lt;div id='foo'&gt;".$row['result']."&lt;/div&gt;";
}

整个文档都包含在 PHP 中,但它不是问题的根源,就好像我将 div 更改为包含文本而不是“.$row['result']”。然后 jquery 在它上面执行就好了。

【问题讨论】:

  • SQL(我猜你使用 PHP?)是服务器端,而 jQuery 是客户端。您可以发布用于从 SQL 更改颜色的代码(jQuery 和 SQL)吗?
  • #foo 代表 div 的 id 或任何其他

标签: php jquery html css sql


【解决方案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检查内容会更明显。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-26
    • 2023-01-12
    • 1970-01-01
    相关资源
    最近更新 更多