0

アイコンをクリックすることで個別に折りたたんだり展開したりできるアイテムがたくさんあります。コードをもう少し変更する必要があります。上に別のアイコンを追加する必要があります。それをクリックすると、以下のすべての項目を一度に展開/折りたたむことができます。誰かがその部分で私を助けることができますか?

これが私のJavaScriptコードです

$(document).on('show hide', '#programs-accordion', function(e) {
  $(e.target).siblings('.accordion-heading').find('.accordion-toggle i').toggleClass('icon-plus icon-minus');
});

これが私のhamlコードです

#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

編集:以下のJSフィドルリンク

http://jsfiddle.net/HqXMN/

4

2 に答える 2

0

ここで動作させました。

$('.expandcollapse').click(function() {

    $('.collapse').each(function(index) {
        $(this).collapse("toggle");
    });

    if ($(this).html() == "<i class=\"icon-white icon-plus-sign\"></i> Expand All") {
        $(this).html("<i class=\"icon-white icon-minus-sign\"></i> Collapse All");
    }
    else {
        $(this).html("<i class=\"icon-white icon-plus-sign\"></i> Expand All");
    };
});

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

于 2013-03-04T22:00:59.057 に答える
0

多分このようなもの:

 $('.expandButton').click(function() {
   $('.accordion-body').addClass('collapsed');
   $('.accordion-toggle i').removeClass('icon-plus');
   $('.accordion-toggle i').addClass('icon-minus');
 });
于 2013-03-04T20:28:43.433 に答える