2012-04-28 43 views
0

所以我在ASP.NET上獲得了這個gridview,它是關於一個gmail客戶端,我用一個複選框做了一個模板字段,用於同時選擇幾條消息,但是首先當你選擇一條消息我想改變行背景顏色,我已經有我的CSS,但我不知道如何觸發行爲或如何知道代碼中選擇的行。這是我網格的模板:當我檢查複選框時,如何更改特定的行樣式? C#ASP.NET

<asp:GridView ID="inboxGrid" runat="server" 
     AutoGenerateColumns="false" CssClass="inbox" ShowHeader="false" BorderStyle="None" GridLines="None"> 
     <Columns> 
      <asp:TemplateField> 
       <ItemTemplate> 
       <asp:CheckBox ID="chkSelect" runat="server" /> 
       </ItemTemplate> 
       <ItemStyle Width="24" CssClass="check"/> 
      </asp:TemplateField> 
      <asp:TemplateField> 
       <ItemStyle CssClass="from" /> 
       <ItemTemplate> 
       <asp:Label ID="lblFrom" runat="server" 
        Text = '<%# Eval("From") %>' /> 
       </ItemTemplate> 
      </asp:TemplateField> 
      <asp:TemplateField> 
       <ItemStyle CssClass="subject" /> 
       <ItemTemplate> 
       <asp:Label ID="lblSubject" runat="server" Text='<%# Eval("Subject") %>' /> 
       </ItemTemplate> 
      </asp:TemplateField> 
      <asp:TemplateField> 
       <ItemStyle CssClass="date" /> 
       <ItemTemplate> 
       <asp:Label ID="lblFecha" runat="server" Text='<%# Eval("Fecha") %>' /> 
       </ItemTemplate> 
      </asp:TemplateField> 
     </Columns> 
     <RowStyle CssClass="inbox"/> 
    </asp:GridView> 
+0

你確定使用jQuery嗎? – c0deNinja 2012-04-28 04:43:44

+0

是沒有問題 – 2012-04-28 17:20:58

回答

2

下面是使用JQuery

的解決方案提供你添加一個的CssClass命名CHKASP:複選框

<asp:CheckBox ID="chkSelect" runat="server" CssClass="chk" /> 

這裏是劇本

$(document).ready(function() { 
     $(".chk :checkbox").live("click", function() { 
      $(this).closest("tr").css("background-color", this.checked ? "#0000FF" : ""); 
     }); 
    }); 
+0

這很好,只是我仍然需要存儲行索引爲以後的行動。 – 2012-04-28 16:53:24

0

試試這個:

<asp:CheckBox ID="chkSelect" runat="server" OnClick="changeCss(this.id);" /> 

您可以使用toggleClass('CssClassName')來打開復選框類點擊:

function changeCss(ctrlId){ 
    $(ctrlId).parent().parent().toggleClass('check'); 
} 

的層次TR> TD>複選框,我們去逆改變TR的CSS /行。

相關問題