折りたたみ可能な要素の内部要素を動的に管理している場合は、「materialize.js」に含まれる jquery メソッドを使用してそれらを「初期化」する必要があります。これは、こちらの「materializecss」ドキュメントに書かれています。
実践例を紹介します。
次の HTML が与えられた場合:
...
<ul class="collapsible" data-collapsible="accordion">
<li>
<div class="collapsible-header">
My nested collapsible
</div>
<div class="collapsible-body">
<ul class="nested collapsible" data-collapsible="accordion">
<!-- No data initially -->
</ul>
</div>
</li>
<li>
<div class="collapsible-header">Second</div>
<div class="collapsible-body">
<p>Normal data...</p>
</div>
</li>
</ul>
...
「.nested」divにデータを追加していて、期待どおりにアコーディオンとして機能していないために問題が発生したと思います。
次に、次のようなことを行う必要があります。
// ... Your handler code ...
// ... Data appended into $('.nested')
$('.nested').collapsible({accordion: true});
// ...
{accordion: true} オプションは、デフォルトでアコーディオンとして扱われるため、必須ではありません。
この場合はうまくいくはずです。幸運を。