gpt4 book ai didi

ajax - JQuery UI Accordion 不适用于 AJAX 加载的内容

转载 作者:行者123 更新时间:2023-12-01 12:42:09 25 4
gpt4 key购买 nike

我正在尝试动态加载产品信息页面,该页面具有供用户浏览的 Accordion 菜单。单击按钮后,我使用 AJAX 动态引入 Accordion 的内容。 Accordion 的 HTML 以其应有的方式显示,但没有执行 Accordion “方法”来将内容修改为 Accordion 。

进口:

<link rel="stylesheet" href="css/supersized.css" type="text/css" media="screen" />
<link rel="stylesheet" href="theme/supersized.shutter.css" type="text/css" media"screen" />
<link rel="stylesheet" href="css/NewSite.css" type="text/css" media="screen" />
<link rel="stylesheet" href="/resources/demos/style.css">
<link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">

<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<script type="text/javascript" src="js/jquery.easing.min.js"></script>
<script type="text/javascript" src="/development-bundle/ui/jquery.ui.core.js"></script>
<script type="text/javascript" src="/development-bundle/ui/jquery.ui.widget.js"></script>
<script type="text/javascript" src="/development-bundle/ui/jquery.ui.accordion.js"></script>
<script type="text/javascript" src="js/supersized.3.2.7.min.js"></script>
<script type="text/javascript" src="theme/supersized.shutter.min.js"></script>
<script type="text/javascript" src="js/jquery.ModalWindow.js"></script>

JQuery 中的 Accordion 调用:
    <script type="text/javascript">
jQuery(document).on('click', '.subMenuItem', function()
{
event.preventDefault();
var subMenuItemID = '#' + $(this).attr('id');
var menuItemContent = $('#MenuItemContent');

var mainCategory = $(this).attr('id').split('xx')[0];
var subCategory = $(this).attr('id').split('xx')[1];
$.ajax({
url: '/php/SubMenuItemContent.php',
data: {
MainCategory: mainCategory,
SubCategory: subCategory
},

success: function(result) {
menuItemContent.html(result);
}
});

$('.accordion').accordion({
heightStyle: "content",
active: false,
collapsible: true
});
}
});
</script>

来自 AJAX 的结果标记是正确的,但 Accordion 无法正确显示,它显示为 H3 和 div 的正常块。

最佳答案

两件事,首先你有一个额外的}在脚本的末尾。

其次, Accordion 内容未正确加载,因为 Accordion DOM 元素尚未加载(它们已在您的 AJAX 调用中加载),因此请输入您的 SubMenuItemContent.php文件:

<script>
jQuery(document).ready(function($) {

$('.accordion').accordion({
heightStyle: "content",
active: false,
collapsible: true
});

})
</script>

初始化已加载的 Accordion 。

或者,您可以尝试移动 accordion()调用您的 success回调如下:
success: function(result) {
menuItemContent.html(result);
$('.accordion').accordion({
heightStyle: "content",
active: false,
collapsible: true
});
}

但无论出于何种原因,我使用以前的方法取得了更大的成功。

关于ajax - JQuery UI Accordion 不适用于 AJAX 加载的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23373268/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com