我有几个段落(常见问题标题),每个段落都包括一组问题和answers.Firstly,我显示常见问题标题的列表。当我点击它们中的一个,相关的问题和答案组出现在常见问题解答中,唯一的问题是它显示了常见问题解答标题的整个列表下的手风琴style.The,如下图所示,但我希望它在相关的常见问题解答title.Could下显示每个手风琴div,请检查我下面的代码。

这是我的观点
<div class="abc">
<?php echo $message; foreach($results as $row){ $faq_title=$ row->faq_title; ?>
<h3><a href="#" class="faq_title"><?php echo $faq_title; ?></a></h3>
<?php }?>
<div id="accordion"></div>
</div>下面是我的JS文件:
$(document).ready(function () {
$("#accordion").accordion({
collapsible: true
});
$(".faq_title").click(function () {
var title = $(this).text();
$.post('cont/get_data', {
title: title
}, function (data) {
var my_obj = data;
$.each(my_obj, function (i) {
var question = my_obj[i].faq_question;
var answer = my_obj[i].faq_answer;
var dynaContent = "<h3><a href='#' class='question'>" + question + "</a></h3>" +
"<div class='answer'>" + answer + "</div>";
$("#accordion").append(dynaContent);
$('#accordion').accordion("refresh");
});
}, "json");
$("#accordion").html("");
});
});发布于 2014-10-16 00:31:31
您没有在循环中包含accordion内容元素。文档要求每个标题下都有一个元素:
<div id="accordion">
<h3>First header</h3>
<div>First content panel</div>
<h3>Second header</h3>
<div>Second content panel</div>
</div>在您的示例中,它可能如下所示:
<div class="abc">
<?php echo $message; foreach($results as $row){ $faq_title=$ row->faq_title; ?>
<h3><a href="#" class="faq_title"><?php echo $faq_title; ?></a></h3>
<div class="content-panel"></div>
<?php }?>
</div>您还需要修改jQuery以使用DOM遍历,而不是以ID为目标:
$(this).next('.content-panel').html(dynaContent);请确保使用类,而不是ID,这将导致无效的重复ID场景。
https://stackoverflow.com/questions/26386602
复制相似问题