2017-08-02 125 views
1

我有一个表单,我希望在某些里程碑处可以改变颜色。 我有JS,但它只适用于第一个单元而不是其他单元。任何想法如何循环js,以便更改表中的每个称为DAYS的单元格?使用php和js更改表格单元格中文本的颜色

我把ID放在表格后但可能是错的。

$(function() { 
    // Score Color 
    var score = parseInt($('#DAYS').text().trim()); 
    var color = 'red'; 
    if (!isNaN(score)) { 
     if (score >= 40) { 
      color = 'orange'; 
     } 
     if (score >= 60) { 
      color = 'green'; 
     } 
     $('#DAYS').css('color', color); 
    } 
}); 

PHP table: 
echo"<td id=DAYS>".$applicant_card['DAYS']."</td>"; 

回答

0

由于DrRoach说,我们应该用class代替id如果我们靶向多个项目。由于id始终只指向一个唯一元素。

所以,你可以给class作为DAYS,而不是id并通过每个元素使用each()给他们respectice颜色运行。

示例代码

$(function() { 
 
    $('.DAYS').each(function(){ 
 
    var score = parseInt($(this).text().trim()); 
 
    var color = 'red'; 
 
    if (!isNaN(score)) { 
 
     if (score >= 40) { 
 
      color = 'orange'; 
 
     } 
 
     if (score >= 60) { 
 
      color = 'green'; 
 
     } 
 
     $(this).css('color', color); 
 
    } 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
PHP table: 
 
<table> 
 
<tr><td class=DAYS>34</td></tr> 
 
<tr><td class=DAYS>44</td></tr> 
 
<tr><td class=DAYS>74</td></tr> 
 
<tr><td class=DAYS>23</td></tr> 
 
<tr><td class=DAYS>54</td></tr> 
 
</table>

+0

这是否包括它会是什么样子,如果在一个动态表中,从PHP的行填充我原来给了? – Glen

+0

是的......只是给了一些虚拟的表值来显示样本 –

+0

非常感谢......有可能被下箭头。什么是最好的书/参考我可以用这个信息,而不必问你亲! – Glen

0

你可以在回声改变你的id=DAYSclass=DAYS。 Ids只能引用一个DOM元素,而类可以引用多个。

$(".DAYS").each(function() { 
    var score = parseInt($(this).text().trim()); 
    var color = 'red'; 
    if (!isNaN(score)) { 
    if (score >= 40) { 
     color = 'orange'; 
    } 
    if (score >= 60) { 
     color = 'green'; 
    } 
    $(this).css('color', color); 
    } 
}); 
+0

尼斯一个在所有的数字工作,,我改变#到 ''在脚本中。尽管所有的数字都是绿色的,但是我期待着不同的颜色,因为剧本上写着红色的橙色等。 – Glen

+0

对不起,我的更改会将所有行设置为与第一个值相同的颜色。请参阅我的编辑。 – DrRoach

+0

对不起,但数字刚刚回来(黑色),ankits为我工作。 thx for reply – Glen

0

只要使用 “” 改变

PHP table: echo"<td id="DAYS">".$applicant_card['DAYS']."</td>";

多数民众赞成

+0

,给出了一个错误 – Glen