Jquery自定义手风琴循环

Jquery自定义手风琴循环,jquery,accordion,Jquery,Accordion,使用CMS模板引擎(Silverstripe),我在对象上循环创建一个相应的模板 <ul class="nav nav-list"> <% loop Faq %> <li id="test-$ID" class="qu">$Title</li> <li id="question-$ID" class="question" style="display: none">$Answer</li&g

使用CMS模板引擎(Silverstripe),我在对象上循环创建一个相应的模板

<ul class="nav nav-list">
    <% loop Faq %>
        <li id="test-$ID" class="qu">$Title</li>
        <li id="question-$ID" class="question" style="display: none">$Answer</li>
    <% end_loop %>
</ul>
  • $Title
  • $Answer
这非常简单,只需创建一个带有test-$id和question-$id的列表id,其中id只是一个数字。所以测试1和问题1,测试2,问题2等等

我有一些jquery,在单击匹配的测试ID时,它会扩展问题ID

<script>
    jQuery(function ($) {
        $("#test-$ID").click(function () {
            $("#test-$ID").toggleClass("active-answer");
            $("#question-$ID").slideToggle("slow");
        });
    });
</script>

jQuery(函数($){
$(“#测试-$ID”)。单击(函数(){
$(“#测试-$ID”).toggleClass(“活动答案”);
$(“#问题-$ID”)。滑动切换(“慢”);
});
});
我把这段代码放在循环中,所以ID的值被分配了,但这意味着我正在创建可能100个版本的代码,这些代码使用的只是不同的ID,这似乎不正确


我应该如何正确地做到这一点?我是想在循环过程中加载一个包含匹配键值对的集合,还是应该在所有元素上使用部分选择或类似方法,并在用户单击时查找匹配的问题和测试ID?还是我完全没有抓住重点?

嗯,我觉得有点傻。谈论一个简单的问题

<div class="questions">
    <% loop Faq %>
        <div>
            <h3><a href="#">$Title</a></h3>

            <div>
                $Answer
            </div>
        </div>
    <% end_loop %>
</div>

$Answer
使用jQueryUI库中的少量代码

<script>
    $(".questions").accordion({
        header: "> div > h3",
        collapsible: true,
        active: false,
        autoHeight: false,
        autoActivate: true
    });
</script>

$(“.questions”).手风琴({
标题:“>div>h3”,
可折叠的:是的,
活动:错误,
自动高度:false,
自动激活:真
});