2016-09-07 76 views
0

在以下代码中,有一个没有列表的Bootstrap可折叠面板,因此它不会展开或收缩。我如何将活动附加到此面板的选择上?如何将事件附加到Bootstrap折叠面板的选择?

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
 
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
 
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> 
 
<div class="panel-group"> 
 
      <div class="panel panel-default" id="leftsidemenu"> 
 

 

 
<div class="panel-heading" id="aboutcollapsepanel"> 
 
        <h4 class="panel-title"> 
 
         <a data-toggle="collapse" href="#collapseabout" data-target="tabsabout" >About</a> 
 
        </h4> 
 
       </div> 
 
       <div id="collapseabout" class="panel-collapse collapse"> 
 

 
       </div> 
 

 

 

 
\t  </div> 
 
</div>

我的非工作尝试如下:

$("#aboutcollapsepanel").on('show.bs.collapse', function() { 
    alert("collapse panel activated"); 
}); 

$("#aboutcollapsepanel").on('hide.bs.collapse', function() { 
    alert("collapse panel deactivated"); 
}); 

我怎样才能获得面板的数据目标值,在这种情况下tabsabout,这是一个jQueryUI选项卡小部件。我的目标是获取此id并将其传递给一个使其可见的javascript函数,并且该函数的签名为function performListItemAction(item),其中item将是我单击的面板中数据目标的值。

谢谢。

回答

1

为什么不加入的onClick?

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
 
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
 
<script> 
 
function performListItemAction(item) { 
 
alert(item); 
 
} 
 
</script> 
 
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> 
 
<div class="panel-group"> 
 
      <div class="panel panel-default" id="leftsidemenu"> 
 

 

 
<div class="panel-heading" id="aboutcollapsepanel"> 
 
        <h4 class="panel-title"> 
 
         <a data-toggle="collapse" href="#collapseabout" data-target="tabsabout" onClick="performListItemAction('tabsabout')">About</a> 
 
        </h4> 
 
       </div> 
 
       <div id="collapseabout" class="panel-collapse collapse"> 
 

 
       </div> 
 

 

 

 
\t  </div> 
 
</div>

+0

这工作,谢谢。 – ITWorker

1

我不知道我明白你在尝试什么。你只需要目标#collapseabout。这既是Bootstrap可折叠元素,也是数据目标。然后你可以在show handler中调用performListItemAction()。

<div class="panel-group"> 
    <div class="panel panel-default" id="leftsidemenu"> 
     <div class="panel-heading" id="aboutcollapsepanel" data-toggle="collapse" data-target="#collapseabout"> 
      <h4 class="panel-title"> 
       About 
      </h4> 
     </div> 
     <div id="collapseabout" class="panel-collapse collapse"> 
       about content here.. 
     </div> 
    </div> 
</div> 

http://www.codeply.com/go/IvWxFtgoJo

+0

我试图让jQueryUI的标签的面板(ID为'tabsabout')通过'performListItemAction()'方法来在屏幕上出现。我认为我的理解是因为我对'data-target'属性的理解而产生的混乱,因为我在你的回应中看到它的值是指当点击主面板标题时展开的子菜单。但是,在我的情况下,没有子菜单可以展开,我想将'data-target'中指定的id发送到'performListItemAction()'方法,以便显示jQueryUI选项卡式面板。 – ITWorker

+0

也许你可以用你的jQueryUI代码发布一个更完整的例子吗? Bootstrap崩溃组件本身可以用来切换(显示/隐藏)面板我不明白jQueryUI是如何涉及的。 – ZimSystem

+0

基本上,我试图执行一种方法,当页面可折叠区域被点击时,页面区域与可折叠面板的内容区域不同,它将显示一个jQueryUI选项卡式小部件。我已经收到了答案,谢谢你的帮助。 – ITWorker