2013-03-04 2 views
0

Моя кнопка Exapand All прекрасно работает (сворачивается и расширяется) в следующем jsfiddle.jquery collapse все не работает в сочетании с форматом HAML

http://jsfiddle.net/HqXMN/6/

Но Развернуть все/Свернуть все функции не работает при использовании в формате Haml .. Я не в состоянии определить, где эта проблема существует.

Вот мой код в HAML.

%a{ href:"#", class: "expandcollapse"} 
    %i.icon-white.icon-plus-sign 
    Expand All 
#programs-accordion.accordion 
    - @patient_summary.programs.each_with_index do |program, index| 
    .accordion-group 
     .accordion-heading 
     .accordion-toggle.group-accordion-toggle 
      %a{ href: "#collapse-#{index}", data: { parent: '#programs-accordion', toggle: 'collapse' }} 
      %i.icon-plus 
      %a= program.name 
     .accordion-body{id: "collapse-#{index}", class: (@office.to_i == office.id) ? "" : "collapse" } 
      .accordion-inner 
      - office.positions.each_with_index do |position, index| 
       #measures-accordion.accordion 
       .accordion-group 
        .accordion-heading 
        .row-fluid 
         .span2{class: "offices-#{position.status}"}= position.status 
         .span1= position.results.first.value 
         .span2= position.results.first.value_date_time.blank? ? '' : Date.parse(position.results.first.value_date_time) 
         .span5= position.name 

ПРИМЕЧАНИЕ: Я обновил jsfiddle ссылку

+1

'класс: (@ office.to_i == office.id)? "": "collapse" 'Эта строка может быть проблемой. Кроме того, он выглядит довольно солидно. ** Можете ли вы поместить в html, который он генерирует? ** Последнее, что я определенно рекомендую изучить частичные части этих циклов. Это определенно немного очистит код и даст вам несколько повторных фрагментов. –

+0

Спасибо за помощь. Это html. http://pastebin.com/Q0jxpUVE – newbie

+0

в HAML, который вы предоставили, '.accordion-body', кажется, имеет отступы 9 пробелов. –

ответ

0

Хорошо. Таким образом, в вашем коде не должно быть ничего плохого. Я смог взять сгенерированный контент и поместить его в jsFiddle, и он работал нормально.

Я не могу опубликовать jsFiddle, потому что мне нужно сопровождать его кодом, но у меня нет соответствующего кода, чтобы согласиться с ним. Сожалею.

Проверьте, чтобы в вашем javascript не было ничего пропущенного, но помимо этого, похоже, не проблема.

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

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