2012-07-04 5 views
0
if(bmi < 18.5) 
{ 
    element1.backgroundColor = colour; 
    $(document).ready(function(){ 
     $(".C_underArrow").show(); 
     }); 
} 

else if (bmi>= 18.5 && bmi<= 24.9) 
{ 
    element2.backgroundColor = colour; 
    $(document).ready(function(){  
    $(".C_normalArrow").show(); 
    }); 
} 

Я пытаюсь покрасить строки в таблицу.применять только одно условие

В зависимости от ввода «bmi» .. решить, какое условие будет использовать, например, первое условие, а затем окрасить элемент1.

Когда я меняю входное значение .. и получаю в другом состоянии и цветовом элементе2, он сохраняет цвет элемента1.

я хочу, чтобы цвет одной строки при каждом новом значении входного

как я могу решить эту проблему?

Edit: Добавление HTML код

<table class="C_resultTable"> 


<tr id="id1"> 
<td > 
<img id="ID_underArrow" class="C_underArrow" width="30" height="30" src="right-arrow.gif" /> 
</tr> 
</td> 


<tr id="id2"> 
<td > 
<img id="ID_normalArrow" class="C_normalArrow" width="30" height="30" src="right-arrow.gif" /> 
</tr> 
</td> 


<tr id="id3"> 
<td > 
<img id="ID_overArrow" class="C_overArrow" width="30" height="30" src="right-arrow.gif" /> 
</tr> 
</td> 


<tr id="id4"> 
<td > 
<img id="ID_ObeseArrow" class="C_ObeseArrow" width="30" height="30" src="right-arrow.gif" /> 
</td> 
</td>  

</table> 

ответ

0

Вы можете хранить в глобальной переменной, которая в настоящее время цветные строки. (Вар colouredElement на моем фрагменте кода)

Без JQuery

if (colouredElement != null) 
    colouredElement.backgroundColor = ''; 

if(bmi < 18.5) 
{ 
    colouredElement = element1; 
    element1.backgroundColor = colour; 
    $(document).ready(function(){ 
     $(".C_underArrow").show(); 
    }); 
}  
else if (bmi>= 18.5 && bmi<= 24.9) 
{ 
    colouredElement = element2; 
    element2.backgroundColor = colour; 
    $(document).ready(function(){ 
     $(".C_normalArrow").show(); 
    }); 
} 

С JQuery

if ($colouredElement != null) 
    $colouredElement.css({ backgroundColor: ''}); 

if(bmi < 18.5) 
{ 
    $colouredElement = $('table.C_resultTable tr:nth-child(1)'); 
    $colouredElement.css({backgroundColor: colour}); 
    $(document).ready(function(){ 
     $(".C_underArrow").show(); 
    }); 
}  
else if (bmi>= 18.5 && bmi<= 24.9) 
{ 
    $colouredElement = $('table.C_resultTable tr:nth-child(2)'); 
    $colouredElement.css({backgroundColor: ''}); 
    $(document).ready(function(){ 
     $(".C_normalArrow").show(); 
    }); 
} 
+0

да я сделать это так ... но есть проблема ... Я дал u пример таблицы из двух строк ... но в действительности у меня есть таблица из 50 строк ... если я делаю то, что делаю ... она будет огромной, если условия ....... поймут меня ?? – Mahmoud

+1

@Mahmoud: проверьте, соответствует ли мой обновленный ответ –

+0

, можете ли вы рассказать мне, как сделать это с кодом JQuery ... той же проблемой – Mahmoud

Смежные вопросы