我有一个jQuery UI手风琴,最终会包含几个 形式。为了防止我的HTML文件变得难以理解,我想要 将每个表单放入一个单独的文件并加载它们。从另一个 Stack Overflow问题/答案我得到了这个,效果很好:
...
<head>
...
<script>
$(function(){
$("#form1").load("form1.html");
$("#form2").load("form2.html");
$("#form3").load("form3.html");
});
</script>
...
</head>
<body>
...
<div id="accordion">
<h3>Form 1</h3><div id="form1"></div>
<h3>Form 2</h3><div id="form2"></div>
<h3>Form 3</h3><div id="form3"></div>
</div>
...
</body>
不幸的是,手风琴的大小似乎是在之前计算出来的 加载了各种formN.html文件。如何强制它重新计算 加载这些文件后手风琴的大小?
答案 0 :(得分:1)
您可以使用refresh
方法。由于你有3个单独的ajax请求,我会做类似的事情:
var f1=$("#form1").load("form1.html");
var f2=$("#form2").load("form2.html");
var f3=$("#form3").load("form3.html");
$.when(f1,f2,f3).then(function(){
/* all forms loaded now we can refresh accordion */
$('#accordion').accordion('refresh');
});