2009-04-02 2 views
0

Я создаю список данных с помощью Repeater Control. В некоторых строках могут быть другие строки, которые нужно переключать, используя кликабельное изображение главной строки.

Здесь есть HTML частьПереключить строки, созданные с помощью Repeater Control ASP.NET

<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> 

Как я мог переключать строки с классом как «SomeClass» внутрь по щелчку imgToggleHomeInfo»изображения на его родительской строки с использованием Jquery?

ответ

1

Я бы найти родительскую строку изображения затем переключить его следующий брат

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

$ (это) .parent («тр») следующего() переключения(); не работает Но это работает:.... $ (this) .parent(). parent(). next(). toggle(); –

+0

Родитель должен искать только ближайшего родителя. Функция parent(). Parent() в порядке, но вы можете использовать метод parents() для просмотра всех предков элемента. Это будет зависеть от того, что эта таблица не содержится в другой таблице. Если это так, вам может потребоваться использовать «tr: last». – tvanfosson

+0

+1 - если вы можете обновить это, чтобы использовать '.closest ('tr')', я понимаю, что он был недоступен во время ответа, но он был бы полезен будущим googlers :) –

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