2015-10-27 6 views
0

Я попытался выяснить, как получить аккордеон, чтобы работать, находясь внутри popover. Кажется, я не понимаю. образец аккордеона работает, когда он не находится внутри popover просто отлично. Я добавил несколько примеров кода ниже. Любая помощь приветствуется.Bootstrap Accordion inside Popover

<div class="hidden-md hidden-lg" style="float: right; padding: 15px 0px 15px 15px;"> 
<a data-placement="bottom" data-toggle="popover" data-container="body" type="button" data-html="true" href="#"><i class="fa fa-chevron-right"></i> FILTERED BY</a> 


    <div id="popover-content" class="hide"> 

     <div class="panel-group" id="accordion"> 
      <!-- accordion 1 --> 
      <div class="panel panel-primary"> 

       <div class="panel-heading"> 
        <!-- panel-heading --> 
        <h4 class="panel-title"> 
         <!-- title 1 --> 
         <a data-toggle="collapse" data-parent="#accordion" href="#accordionOne"> 
          Collapsible Accordion 1 
         </a> 
        </h4> 
       </div> 
       <!-- panel body --> 
       <div id="accordionOne" class="panel-collapse collapse in"> 
        <div class="panel-body"> 
         Lorem ipsum dolor sit amet, consectetur adipisicing elit, 
         sed do eiusmod tempor incididunt ut labore et dolore magna 
         aliqua. Ut enim ad minim veniam, quis nostrud exercitation 
         ullamco laboris nisi ut aliquip ex ea commodo consequat 
        </div> 
       </div> 
      </div> 

      <div class="panel panel-success"> 
       <!-- accordion 2 --> 

       <div class="panel-heading"> 
        <h4 class="panel-title"> 
         <!-- title 2 --> 
         <a data-toggle="collapse" data-parent="#accordion" href="#accordionTwo"> 
          Collapsible Accordion 2 
         </a> 
        </h4> 
       </div> 
       <!-- panel body --> 
       <div id="accordionTwo" class="panel-collapse collapse"> 
        <div class="panel-body"> 
         Change does not roll in on the wheels of inevitability, 
         but comes through continuous struggle. 
         And so we must straighten our backs and work for 
         our freedom. A man can't ride you unless your back is bent. 
        </div> 
       </div> 

      </div> 

      <div class="panel panel-warning"> 
       <!-- accordion 3 --> 

       <div class="panel-heading"> 
        <h4 class="panel-title"> 
         <!-- title 3 --> 
         <a data-toggle="collapse" data-parent="#accordion" href="#accordionThree"> 
          Collapsible Accordion 3 
         </a> 
        </h4> 
       </div> 

       <div id="accordionThree" class="panel-collapse collapse"> 
        <!-- panel body --> 
        <div class="panel-body"> 
         You must take personal responsibility. 
         You cannot change the circumstances, 
         the seasons, or the wind, but you can change yourself. 
         That is something you have charge of. 
        </div> 

       </div> 

      </div> 

     </div> 

    <script type="text/javascript"> 
     $("[data-toggle=popover]").popover({ 
      html: true, 
      content: function() { 
       var clone = $('#popover-content').clone(true).html(); 
       return clone; 
      } 
     }); 
    </script> 

</div> 

<div style="border-top: solid 1px #aaaaaa; clear: both;" class="hidden-md hidden-lg"><br/><br/> 
</div> 
</div> 

ответ

2

Вот demo для вас

Вы, возможно, придется изменить некоторые css, хотя, но вы получите идею.

Вот html код этого

<div class="container-fluid"> 
    <div class="row-fluid" style="margin-top:200px"> 
    <div class="span12" style="float: middle; margin: 15px 0px 15px 15px;"> 
    <a href="#" id="popoverExampleTwo">Popover Example 2</a> 


     <div id="popoverExampleTwoHiddenContent" style="display: none"> 
     <div class="panel-group" id="accordion"> 
     <!-- accordion 1 --> 
     <div class="panel panel-primary"> 
      <div class="panel-heading"> 
       <!-- panel-heading --> 
       <h4 class="panel-title"> 
        <!-- title 1 --> 
        <a data-toggle="collapse" data-parent="#accordion" href="#accordionOne"> 
         Collapsible Accordion 1 
        </a> 
       </h4> 

      </div> 
      <!-- panel body --> 
      <div id="accordionOne" class="panel-collapse collapse in"> 
       <div class="panel-body">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat</div> 
      </div> 
     </div> 
     <div class="panel panel-success"> 
      <!-- accordion 2 --> 
      <div class="panel-heading"> 
       <h4 class="panel-title"> 
        <!-- title 2 --> 
        <a data-toggle="collapse" data-parent="#accordion" href="#accordionTwo"> 
         Collapsible Accordion 2 
        </a> 
       </h4> 

      </div> 
      <!-- panel body --> 
      <div id="accordionTwo" class="panel-collapse collapse"> 
       <div class="panel-body">Change does not roll in on the wheels of inevitability, but comes through continuous struggle. And so we must straighten our backs and work for our freedom. A man can't ride you unless your back is bent.</div> 
      </div> 
     </div> 
     <div class="panel panel-warning"> 
      <!-- accordion 3 --> 
      <div class="panel-heading"> 
       <h4 class="panel-title"> 
        <!-- title 3 --> 
        <a data-toggle="collapse" data-parent="#accordion" href="#accordionThree"> 
         Collapsible Accordion 3 
        </a> 
       </h4> 

      </div> 
      <div id="accordionThree" class="panel-collapse collapse"> 
       <!-- panel body --> 
       <div class="panel-body">You must take personal responsibility. You cannot change the circumstances, the seasons, or the wind, but you can change yourself. That is something you have charge of.</div> 
      </div> 
     </div> 
    </div> 
    <script type="text/javascript"> 
     $("[data-toggle=popover]").popover({ 
      html: true, 
      content: function() { 
       var clone = $('#popover-content').clone(true).html(); 
       return clone; 
      } 
     }); 
    </script> 
</div> 

     </div> 
     <div id="popoverExampleTwoHiddenTitle" style="display: none"> 
     Popover Example <b>2</b> - Title 
     </div> 

    </div> 
    </div> 
</div> 

и немного script установить название и содержание в поповер тела

$(function(){ 

// Enabling Popover Example 1 - HTML (content and title from html tags of element) 
$("[data-toggle=popover]").popover(); 

// Enabling Popover Example 2 - JS (hidden content and title capturing) 
$("#popoverExampleTwo").popover({ 
    html : true, 
    content: function() { 
     return $('#popoverExampleTwoHiddenContent').html(); 
    }, 
    title: function() { 
     return $('#popoverExampleTwoHiddenTitle').html(); 
    } 
    }); 

}); 

Что я сделал просто управлять содержимым поповер с помощью JavaScript, а также, и я не очень хорошо объясняю, но вы поймете, что смотрите на демо.

Надеюсь, что на вопрос

+0

он сработал! благодаря! – crizzwald

+1

Отправьте свой код в свой вопрос. Если jsFiddle недоступен, ваш ответ теряет всю ценность. – j08691