【问题标题】:How to load jquery accordion into a div using ajax load?如何使用 ajax 加载将 jquery 手风琴加载到 div 中?
【发布时间】: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>

【问题讨论】:

    标签: jquery ajax


    【解决方案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。
    猜你喜欢
    • 1970-01-01
    • 2011-08-26
    • 2012-08-27
    • 2014-04-03
    • 2013-10-26
    • 2021-09-20
    • 1970-01-01
    • 1970-01-01
    • 2012-02-27
    相关资源
    最近更新 更多