2012-08-15 14 views
0

我有一个表,看起来是这样的:改变颜色,如果列中包含一定的价值

<asp:Repeater ID="myRepeater" runat="server"> 
    <div id="divTable" class="divTable"> 
    <table id="myTable"> 
     <thead> 
     <tr> 
      <td>A</td> 
     </tr> 
     <tr> 
      <td>B</td> 
     </tr> 
     <tr> 
      <td>C</td> 
     </tr> 
     <tr> 
      <td>D</td> 
     </tr>       
    </thead> 
    <tbody id="myContent"> 
     <tr> 
      <td>Some Text</td> 
     </tr> 
     <tr> 
      <td>Some Text</td> 
     </tr> 
     <tr> 
      <td>Some Text</td> 
     </tr> 
     <tr> 
      <td id="findMe"> 
       <%#Eval("IsFlagged")%> 
      </td> 
     </tr>        
    </tbody> 
    </asp:Repeater> 
    </table> 
    </div> 

现在,这里就是我想要做的事。如果<%#Eval(“IsFlagged”)%>返回什么都不是,我想使表格行中的所有单元格都具有一定的颜色。

我一直在阅读有关.contains(),但我还没有找到一个简单的问题“如果不为空,将一个.css样式应用于表格行其余单元格”的示例。

+0

在设置'tr'颜色之前,您会在哪一刻验证您的变量? _jQuery_部分非常简单。 – axcdnt 2012-08-15 18:22:57

+0

我继续给“特殊”​​一个“findMe”的ID。现在,我想选择它,然后将以前的“某些文本”改为另一种颜色。 – Jeff 2012-08-15 18:30:19

回答

2

我放在一起的例子中的jsfiddle:http://jsfiddle.net/aMR5r/

编辑:你编辑使代码更简单一点,但它同样的道理。

$(function(){ 
    var isFlagged = $('#findMe').text(); 
    if(isFlagged.length > 0) 
    { 
     $('#findMe').parent().addClass('yellow'); 
    } 
}); 

http://jsfiddle.net/aMR5r/1/

+1

如果只有一个具有特定ID的单元格,则此答案适用,此处为#findMe。但是如果我们需要实现所有行或每个单元格呢? – SUN 2017-04-18 05:47:58

1

首先,尝试给这个特定的TD类或someting,所以你可以定位它。然后你可以检查$('td.yourclassname')。html();的长度。

1

如果您正在使用VB.Net,那么你可以使用此代码..

<tr style="background-color:<%# IIF(IsDBNull(Eval("IsFlagged"),"none","yellow") %>"> 

你可以申请这个逻辑也给TD。