2011-01-07 11 views
1

Ich zeige Zusammenfassung und Details Kundeninformationen in jeder Repeater-Reihe - im Repeater.Show Hide Divs in Repeater Artikel Vorlage

Die Zusammenfassung Zeug ist es eigener div ist: (id = "divHistory_Summary) Der Stoff Details in einem eigenen div. (Id =" divHistory_details“)

Die Details div standardmäßig mit Inline-Stil verbirgt: Anzeige : none;

<asp:Repeater ID="RepeaterCustHistory" runat="server"> 
       <ItemTemplate> 

       <div id="divHistory_Summary" class="cust_summary" style="width: 100%; cursor: pointer" > 
        <div id="divTicketNumber" style="display: inline; float: left;"> 
          <u><strong>Ticket ID:</strong> <asp:Label ID="lblCustHelpDeskTicketId" runat="server" Text='<%# Eval("HelpDesk_id") %>' /></u> 
        </div> 

         <div id="divProblem" style="display: inline; float: left; padding-left: 10px;"> 
         <strong>Problem:</strong> <asp:Label ID="lblProblem" runat="server" Text='<%# Eval("HelpDesk_problem") %>' /> 
        </div> 

        <div id="divStatus" style="display: inline; float: left; padding-left: 10px;"> 
         <strong>Status:</strong> <asp:Label ID="Label1" runat="server" Text='<%# Eval("HelpDesk_name") %>' /> 
        </div> 

        </div> 

        <div id="divHistory_details" class="cust_details" style=" width: 100%; float: left; display: none; "> 
         <strong>Solution:</strong> <asp:Label ID="lblSolution" runat="server" Text='<%#Eval("HelpDesk_solution") %>' ></asp:Label> 
       </div> 

      </ItemTemplate> 
      <SeparatorTemplate> 
      <hr /> 
      </SeparatorTemplate> 
    <FooterTemplate> 
    </FooterTemplate> 

    </asp:Repeater> 

Am unteren Rand meiner aspx Seite habe ich meine jquery:

<script src='<%= ResolveUrl("~/Scripts/jquery-1.4.1.js") %>' type="text/javascript" ></script> 
<script type="text/javascript"> 

     $(document).ready(function() { 
      $(".cust_details").hide(); 
      $(".cust_summary").click(function() { 
       $(this).next(".cust_details").slideToggle(100); 
      }); 
     }); 

    </script> 

ich im Kopf meiner app nicht die jquery.js Datei, so dass ich hoffe, es ist ok, um den scri anzurufen Genau hier. Diese App hat viele verschachtelte Masterseiten und wusste nicht, welche den Aufruf in die jquery-Datei bringen soll.

Die Seite lädt, Repeater bevölkert, die Details sind versteckt. Wenn Sie auf das Zusammenfassungs-Div klicken, passiert nichts - die Details werden nicht angezeigt.

Hat jemand irgendwelche Ideen, wie man dieses Show/hide div so arbeiten lässt? Danke!

ich VS2010 bin mit, Framework 2.0, C#

+0

Haben Sie vor, wenn alle JavaScript-Fehler zu sehen, überprüft das könnte der Code vom Laufen verhindert werden können? Ihr Code sieht auf den ersten Blick gut aus. – Jacob

Antwort

0

Try this:

$(this).nextAll('div[class="cust_details"]').eq(0).slideToggle(100); 

Ich habe einen schnellen Test lief und es scheint zu funktionieren.

0

Versuchen Sie folgendes:

<script type="text/javascript"> 

     $(document).ready(function() { 
      $(".cust_details").hide(); 
      $(".cust_summary").click(function() { 
      $(this).nextAll('div[class="cust_details"]').eq(0).slideToggle(100); 
      }); 
     }); 

</script>