2017-08-02 122 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