2016-09-07 60 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