したがって、私のdivには、コンテンツを含む複数のヘッダーを表示するデータバインドがあります。折りたたんで展開するためにjQueryを使用したいのですが、クリックしているヘッダーに関係なく、現在持っているものでは、最初のヘッダーのみが折りたたまれて展開されます。
最初のヘッダーだけでなく、クリックされたヘッダーを折りたたんで展開できるように、私が持っているものを変更するにはどうすればよいですか?
<div class="accordion-group elements-by-unit" style="display:none" id="listView" data-bind="foreach: Types">
<div class="text_x-large header">
<span data-bind="text:Name()"></span>
<span class="userCount">(<span data-bind="text:UserCount()"></span>)</span>
<span class="icon-minus-sign" data-toggle="collapse"></span>
</div>
<div class="collapse in" data-bind="template: { name: 'list', foreach: $data.Users }"></div>
</div>
<script type="text/html" id="list">
<h3 id="letter" data-bind="text: Letter"></h3>
<div class="smoke_hover">
<span class="h2"><small data-bind="text: Name"></small></span>
</div>
</script>
Javascript
<script type="text/javascript">
(function ($) {
Views.User.Init({
url: '@url',
id:@ViewBag.SectionID,
roleUser:@ViewBag.UserSettings
});
var togglerArr = [];
var contentArr = [];
$('.icon-minus-sign').each(function(){
togglerArr.push($(this));
});
$('.collapse').each(function(){
contentArr.push($(this));
});
for (var t = 0; t < togglerArr.length; t++) {
togglerArr[t][0].dataset.target = "#rUsers-" + t;
}
for (var c = 0; c < contentArr.length; c++) {
contentArr[c][0].id = "#rUsers-" + c;
}
})(jQuery);
</script>