如何解决jQuery UI手风琴初始化第一个之后的后续调用
|| 步骤1:使用div \“ foo \”和jqote2模板\“ tmpl_foo \”加载网页(jqote2是基于jQuery的模板系统)。<div id=\"foo\"></div>
<script type=\"text/x-jqote-template\" id=\"tmpl_foo\">
<![CDATA[
<% for (i in this.bar) { %>
<h3><%= this.bar[i].title %></h3>
<div class=\"pane\"><%= this.bar[i].desc %></div>
<% } %>
]]>
</script>
第2步:通过jQuery触发ajax查询,以从服务器检索数据,使用jqote2填充div \“ foo \”,然后在\“ foo \”上初始化jQuery UI手风琴。
var get_foo : function () {
$.ajax({
url : url,type : \"GET\",data : \"\",dataType: \"json\",error : function() { alert(\"Error loading html document\"); },success : function(res) {
$(\"#foo\").empty().append(
$(\'#tmpl_foo\').jqote({
\'bar\': res.bar
})
).accordion();
}
});
}
$(document).ready(function() {
get_foo();
});
它工作得很漂亮。
在网页上,我还有其他链接,例如\“上一页\”和\“下一页\”(标准寻呼机功能),它们也触发fire2ѭ。这些操作还会导致正确获取新数据,并且新结果也将正确插入\“ foo \”中。但是,由于某种原因,手风琴没有初始化。我感到难过。原因可能是什么?
解决方法
您必须先重置手风琴:
$(\"#foo\").empty().append(
$(\'#tmpl_foo\').jqote({
\'bar\': res.bar
})
).accordion(\'destroy\').accordion();
如果要保留该状态,则可能需要计算当前的手风琴项目。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。