如何使用 ajax 加载将 jquery 手风琴加载到 div 中?

Posted

技术标签:

【中文标题】如何使用 ajax 加载将 jquery 手风琴加载到 div 中?【英文标题】:How to load jquery accordion into a div using ajax load? 【发布时间】:2015-02-13 01:35:30 【问题描述】:

我有一个单独工作的 jquery 手风琴。当我尝试使用链接和加载方法将其加载到位于我主页上的 div 中时,手风琴显示为带有标题的列表并失去其所有功能。 我的手风琴可以在http://jsfiddle.net/jenova007/jhhpovzb/找到 当我单击“存储位置”链接时,我想将此手风琴加载到“结果”div 中。经过多次尝试后,我最终加载了原始手风琴页面或加载了手风琴标题列表和列表项,但没有加载 div 中的工作手风琴。 在阅读了几篇关于在加载时重新初始化手风琴等的文章之后,我仍然迷路了。有人可以解释我如何在我的javascript中做到这一点吗?谢谢。

<script type="text/javascript">
$('a').click(function() 
var page = $(this).attr('href');
$('#result').load(page);
return false;
);
</script>
<html>
<head>
<title>Store_Locations</title>
<style type="text/css">
#result position: absolute;
	top: 30%;
	left: 0;
</style>
</head>
<body>
<a href="StoreListA.html">Store Locations</a>
<div id="result">
</div>
<script src="loader.js"></script>
</body>
</html>

【问题讨论】:

【参考方案1】:

您必须在加载后初始化您的手风琴。您应该等待加载回调。

$("#result").load(page + " #result", function() 

    // This is a callback function. Do initialization here.

);

【讨论】:

是的,手风琴工作正常。但我希望将这个手风琴加载到 StoreLocations.html 页面的结果 div 中,该页面包含“商店位置”链接(用户应单击该链接以显示手风琴)。相反,当我单击该链接时,它会刷新整个 StoreLocations.html 页面并加载手风琴、StoreListA.html 页面。换句话说,我只想刷新 StoreLocations.html 页面中的结果 div。我该怎么做?谢谢。 所以问题是您不想将整个 StoreListA.html 页面加载到您的 #result div 中,而只是为了刷新此 div 的内容,对吧? 是的。当我单击 StoreLocations.html 中的链接时,我想将 StoreListA.html 中包含的手风琴加载到 StoreLocations.html 中包含的#result div 中。我想保持 StoreLocations.html 及其所有项目原样,但只刷新#result div 并将此 div 显示为 StoreLocations.html 中的格式。虽然我不确定我应该在哪里实际格式化手风琴 - 在 StoreLocations.html 或 StoreListA.html 中。谢谢。 @Kira,您可以定义要包含在您的#result div 中的加载页面的哪一部分。见api.jquery.com/load/#script-execution @Kira,我已经更新了答案。我假设您的 StoreListA.html 页面中有相同的 #result div。

以上是关于如何使用 ajax 加载将 jquery 手风琴加载到 div 中?的主要内容,如果未能解决你的问题,请参考以下文章

带有 AJAX 的 JQuery 需要用多维数组创建手风琴

前端程序员应该知道的 15 个 jQuery 小技巧

如何使用 ajax 调用将 jquery 数据表加载到 div 中

jQuery 手风琴错误

页面加载后在上一节重新打开 jQuery 手风琴

如何在php中使用foreach循环将数据从数据库检索到jquery-ui手风琴