2009-04-02 13 views
0

Repeater Controlを使用してデータのリストを作成しています。行の中には、メイン行のクリック可能なイメージを使用してトグルする必要がある他の行がある場合があります。ここで

、HTMLの一部は、私はjQueryのを使用して、その親行のimgToggleHomeInfo」画像のクリックで内側に「工ass」としてクラスを使用した行を切り替えることができる方法Repeater Controlを使用して作成された行を切り替えます。

<table cellpadding="2" cellspacing="0" width="100%"> 
       <asp:Repeater ID="repeatLockers" runat="Server"> 
        <HeaderTemplate> 
         <tr> 
      <td>&nbsp;</td> 
          <td>A</td> 
         </tr> 
        </HeaderTemplate> 
        <ItemTemplate> 
         <tr id="trItem" class="SomeParentClass" runat="server"> 
          <td> 
           <img id="imgToggleHomeInfo" runat="server" alt="show/hide repetitves" src="icon_plus.gif" 
            style="cursor: pointer" /> 
          </td> 
          <td> 
           <asp:Label ID="lbl" runat="server"></asp:Label> 
          </td> 
         </tr> 
         <tr id="trAddOnFee" runat="server" class="SomeClass" style="display: none;"> 
          <td colspan="2"> 
           <table cellpadding="4" cellspacing="2" width="100%"> 
            <tr> 
             <td class="DgHeader">A</td> 
             <td class="DgHeader">B</td> 
            </tr> 
            <asp:Repeater ID="repeatRepetitives" runat="server"> 
             <ItemTemplate> 
              <tr> 
               <td> 
                <asp:Label ID="lblA" runat="server"></asp:Label> 
               </td> 
               <td align="right"> 
                <asp:Label ID="lblB" runat="server"></asp:Label> 
               </td> 
              </tr> 
             </ItemTemplate> 
            </asp:Repeater> 
           </table> 
          </td> 
         </tr> 
        </ItemTemplate> 
       </asp:Repeater> 
      </table> 

ある?

答えて

1

私は思いますそれは次の兄弟だトグルその後、画像の親行を見つける

$(document).ready(function() { 
    $("[id$='imageToggleHomeInfo']").click(function() { 
     $(this).closest('tr').next().toggle(); 
    }); 
}) 
+0

$(この).parent( 'TR')次の()(トグル);動作していない。しかし、これは働いている:。。。。 $を(this).parent()。parent()。next()。toggle(); –

+0

親は直接の親を検索するだけでなければなりません。 parent()。parent()は大丈夫ですが、parents()メソッドを使用して要素のすべての祖先を見ることができます。これは、このテーブルが別のテーブルに含まれていないかどうかによって異なります。そうであれば、 'tr:last'を使う必要があります。 – tvanfosson

+0

+1 - '.closest( 'tr')'を使用するようにこれを更新できれば、それは答えの時点で利用できなかったことに気付きますが、将来のgooglerには役に立ちます:) –

関連する問題