[JavaScript] Accordion unter RoR

Dieses Thema im Forum "Webentwicklung" wurde erstellt von naca7, 19. Februar 2009 .

Schlagworte:
  1. 19. Februar 2009
    Accordion unter RoR

    Hallo!

    Suche jetzt schon geschlagene 3 Stunden nach ner Accordionfunktionalität in Prototype wie ich es aus jQuery kenne. Hätte das hier gefunden: http://www.stickmanlabs.com/accordion/

    Mein Problem ist jetzt folgendes: Das Accordion funktioniert ansich, nur ist beim erneuten Öffnen der Divs deren Inhalt leer. Also leer in dem Sinne dass die Elemente darin zwar vorhanden sind, aber nicht angezeigt werden.

    Hatte jemand ein ähnliches Problem oder könnte mir zu ner Alternative raten?

    BW etc. für jede hilfreiche Antwort selbstverständlich!
     
  2. 19. Februar 2009
    AW: Accordion unter RoR

    Ist schwer zu helfen, wenn amn den sourcecode nicht kennt.
    Was spricht dagegen sich das schnell selbst zsuammen zu schustern.
    Prototype verwendest du ja bereits, machst noch script.aculo.us für die funky Effekte dazu und es dürfte kein Problem sein.
    Tutorials gibts dazu jede Menge

    Alternativ, poste mal deine Sourcen, sonst kann man nicht nachvollziehen, wo es klemmt.
     
  3. 20. Februar 2009
    AW: Accordion unter RoR

    stimmt, hätte ich selbst dran denken können =)

    Code:
    =javascript_include_tag "user"
    
    - form_tag user_url(@user), :method => 'put', :multipart =>true, :class => 'MainForm' do
     #yui-main
     .yui-b
     .box
     %h3=:additional_data.l
     #accordion_container
     %h2.accordion_toggle=:about_you.l
     .accordion_content
     %label{"for"=>"classification"}
     =:classification.l
     = collection_select(...)
     ...
     %h2.accordion_toggle=:where_do_you_live.l
     .accordion_content
     ...
    
    dieses html wird produziert (projektrelvante daten hab ich rausgenommen):
    Code:
    <div id='yui-main'>
     <div class='yui-b'>
     <div class='box'>
     <h3>h3-text</h3>
    
     <div id='accordion_container'>
     <h2 class='accordion_toggle'>Ueber dich</h2>
     <div class='accordion_content'>
     <label for='labelid'>
     labeltext
     </label>
     <select id="..." name="..."><option value="1" selected="selected">opt1</option>
     <option value="2">opt2</option>
    
     <option value="3">opt3</option></select>
     <label for='labelid1'>
     labeltext
     </label>
     
     <input checked="checked" id="id_m_1" name="radioname" type="radio" value="radVal" />
     <br />
     
     <input id="id_f_1" name="radioname" type="radio" value="radVal1" />
     <label for='labelid2'>
    
     labeltext
     </label>
     
     <h2 class='accordion_toggle'>secondaccordion</h2>
    
     <div class='accordion_content'>
     <label for='labelid4'>
     labeltext
     </label>
     
     </div>
    
    
    das dazugehörige JS-Script ("User") sieht folgendermaßen aus:

    Code:
    Event.observe(window, 'load', loadAccordions, true);
     
     //
     // Set up all accordions
     //
    function loadAccordions() {
     var bottomAccordion = new accordion('accordion_container');
     // Open first one
     bottomAccordion.activate($$('#accordion_container .accordion_toggle')[0]);
    
    }
    


    hoffe es hilft selberbasteln ... wäre dann halt die alternative, aber auch zugleich der letzte ausweg *g*
     
  4. 20. Februar 2009
    AW: Accordion unter RoR

    jetzt weiß ich wieder warum ich ror ned mag ^^

    naja, am besten du kopierst dir mal den html-source (nicht ror), dann kann man dir besser heflen.
     
  5. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.