Twitter Bootstrap: How to create a dropdown button with an accordion inside it?

前端 未结 1 1148
梦毁少年i
梦毁少年i 2020-12-18 03:14

In Twitter Bootstrap, I am trying to create a button dropdown with an accordion inside it.

the purpose is to present a long list of items in a concise form (i.e. av

1条回答
  •  野趣味
    野趣味 (楼主)
    2020-12-18 04:11

    You can insert an accordion inside a dropdown using :

    • Bootstrap Dropdown component
    • Bootstrap Collapse component

    You'll need to add a few lines of JS to prevent Dropdown events to break Collapse ones.

    Working example on Bootply

    
    
    .dropdown-accordion .panel-heading {
      padding: 0;
    }
    .dropdown-accordion .panel-heading a {
      display: block;
      padding: 10px 15px;
    }
    
    // Collapse accordion every time dropdown is shown
    $('.dropdown-accordion').on('show.bs.dropdown', function (event) {
      var accordion = $(this).find($(this).data('accordion'));
      accordion.find('.panel-collapse.in').collapse('hide');
    });
    
    // Prevent dropdown to be closed when we click on an accordion link
    $('.dropdown-accordion').on('click', 'a[data-toggle="collapse"]', function (event) {
      event.preventDefault();
      event.stopPropagation();
      $($(this).data('parent')).find('.panel-collapse.in').collapse('hide');
      $($(this).attr('href')).collapse('show');
    })
    

    0 讨论(0)
提交回复
热议问题