2014-02-26 58 views
0

我有一個函數populateNames(),它循環了jsonObjects中的所有名稱。 在jsonObjects中,我有一個值(警報),即是或不是。 知道我想能夠顯示jsonObjects中的所有名稱,並且如果jsonObjects名稱警報爲true,則以紅色輸出該名稱,並且如果jsonObjects名稱警報爲false,則以綠色輸出名稱。如果報警爲真,循環顯示不同名稱的真實對象名稱?

function populateNames() { 

    for(i = 0; i < jsonObjects.length; i++) { 

     if(availableNames.indexOf(jsonObjects[i].name) < 0) { 

      availableNames.push(jsonObjects[i].name); 
      $("#chan").append('<li><a href="#">' + jsonObjects[i].name + '</a></li>'); 
     } 
    } 
} 

if語句波紋管林的測試是這樣的:

if(jsonObjects[i].alarm == true) { 

    $("#chan").html('<li><a href="#"></a></li>'); 
} 
else { 

    $("#chan").html('<li><a href="#"></a></li>'); 
} 
+0

你有沒有在假設條件的錨標記顯示添加的名稱? – bring2dip

+0

@DeepakBhattarai嗨,我知道。但是如果我把名字放在錨標籤中,如果條件不能解決我的問題......如果你有任何想法如何解決它,請給我一個提示。 –

+0

我想你已經得到了 – bring2dip

回答

0

如果報警屬性將是一個對象或字符串你的病情仍然會返回true,所以這將是更好地修改它如下:

jsonObjects[i].alarm.toString() == "true" 

至於顏色,你可以做這樣的事情:

$("#chan").html('<li><a href="#" style="color: '+ (jsonObjects[i].alarm.toString() == "true")? "#FF0000" : "#00FF00" +'"></a></li>'); 
1

試試這個代碼

function populateNames() { 
      var color = "green"; 
      for (i = 0; i < jsonObjects.length; i++) { 
       if (jsonObjects[i].alarm == true) { 
        color = "red"; 
       } 
       else { 
        color = "green"; 
       } 
       if (availableNames.indexOf(jsonObjects[i].name) < 0) { 
        availableNames.push(jsonObjects[i].name); 

        $("#chan").append('<li><a style:"color=' + color + ';" href="#">' + jsonObjects[i].name + '</a></li>'); 
       } 
      } 
     } 
+0

以下的答案好的代碼,它不工作,但即時通訊工作的代碼,使其工作。 HTML代碼顯示正確的div style ='color',但它不顯示任何顏色... –

+0

您的代碼正在工作中知道,但我更改了style =「color ='+ color +';」風格:「color ='+ color +';」。 –

+0

@MrToniWP多數民衆贊成在.. –