2013-09-25 236 views
2

我想在網頁上實現多個手風琴,但似乎有我的代碼的問題,我只是無法弄清楚。 這裏是我的代碼:多手風琴

$ k = 0;

function accordion($i,$rez1) 
{ 

    $acc_rez="<div class=\"tab-pane\" id=\""."$i"."\">rnd txt"."$i"."accordion"."$i"; 
    $acc_rez.="<div class=\"accordion"."$i"."\" id=\"accordion"."$i"."\">"; 
    $limit = count($rez1['data']); 
    for($j=0; $j<$limit; $j++) 
    { 
     $acc_rez.="<div class=\"accordion-group\">"; 
     $acc_rez.="<div class=\"accordion-heading\">"; 
     $acc_rez.="<a class=\"accordion-toggle\" data-toggle=\"collapse\" data-parent=\"#accordion"."$i"."\" href=\"#collapse"."$k"."\">"; 

     $acc_rez.="<p>".$rez1['data'][$j]['id']. "</p>"; 

     $acc_rez.="</a></div>"; 

     $acc_rez.="<div id=\"collapse"."$k"."\" class=\"accordion-body collapse in\">"; 
     $acc_rez.="<div class=\"accordion-inner\"> random text number "."$j"; 
     $acc_rez.="</div></div></div>"; 
     $k++; 
    } 



    $acc_rez.="</div></div>\n"; 

    return $acc_rez; 
} 

這個PHP函數被調用多次(我有一個for循環中,其中i = 0到n),從而爲,我有不同的標籤許多手風琴的IDEEA。

我的問題是,當我加載頁面,點擊選項卡上,看到一個手風琴,所有的手風琴標籤是打開的,並在所有除第一個標籤,我不能點擊任一組項目

感謝您的幫助!

+0

你可以給我們你的JavaScript,我想也許你只編寫它的單一類,你的PHP打印出多個類名稱,這就是爲什麼它只適用於第一個 – pythonian29033

+2

你可以確保在呈現的手風琴代碼中的所有元素都有唯一的ID? – Maximus2012

+0

點擊「回答你自己的問題」鏈接,在問題中粘貼你的javascript,並在你的回答中解釋問題是什麼,這樣,其他人得到同樣的問題也可以從中受益 – pythonian29033

回答

1

感謝Maximus2012,我設法解決了這個問題。

$ k是一個全局變量,我用它給不同的元素賦予不同的名字。 問題在於我忘記在我的功能中將其聲明爲全局的,從而使它爲我的手風琴的不同元素提供相同的值。 添加全局$ k;在我的功能開始時,一切正常。

感謝所有在這裏提出的意見!