Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 部分ajax页面重新加载后jquery手风琴损坏_Javascript_Jquery_Ajax_Jquery Ui_Jquery Ui Accordion - Fatal编程技术网

Javascript 部分ajax页面重新加载后jquery手风琴损坏

Javascript 部分ajax页面重新加载后jquery手风琴损坏,javascript,jquery,ajax,jquery-ui,jquery-ui-accordion,Javascript,Jquery,Ajax,Jquery Ui,Jquery Ui Accordion,我使用的是jQueryAccordion,它在初始页面加载时运行良好,但随后我使用了一些ajax命令来重新加载页面的一部分,基本上是页面的内部主体 当这种情况发生时,手风琴被破坏,因为我所做的重新加载只是替换几乎整个body字段的innerHTML 加载手风琴的脚本也包含在替换的HTML中,但显然没有帮助 在替换整个页面的innerHTML后,如何保持(或重新调用)手风琴效果 <div class="art-Post-inner" id="ajaxWrapper">

我使用的是jQueryAccordion,它在初始页面加载时运行良好,但随后我使用了一些ajax命令来重新加载页面的一部分,基本上是页面的内部主体

当这种情况发生时,手风琴被破坏,因为我所做的重新加载只是替换几乎整个body字段的innerHTML

加载手风琴的脚本也包含在替换的HTML中,但显然没有帮助

在替换整个页面的innerHTML后,如何保持(或重新调用)手风琴效果

<div class="art-Post-inner" id="ajaxWrapper">
        <div id="accordion">
                <h3><a href="#">Skärm 1</a></h3>
                <div>
                    my accordion content
                </div>
        </div>

        <script>

            $(document).ready(function() {
                $( '#accordion' ).accordion({
                    collapsible: true, active: false, autoHeight: false
                });
            });

        </script>           

我的手风琴内容
$(文档).ready(函数(){
$('手风琴')。手风琴({
可折叠:真,活动:假,自动高度:假
});
});
这项技术完全被id=ajaxWrapper的div的innerHTML设置所取代


我相信您已经看到了问题。

将jquery accordion函数放入
.ajax
请求的成功回调中:

例如:

var accordionOpts = {
    collapsible: "true",
    active: "false",
    autoHeight: "false"
    };

$('#accordion').accordion(accordionOpts);

$("#replaceContent").click(function() {
    $.ajax({
        type: 'POST',
        cache: false,
        data: {
            html: "<div id='accordion'><h3><a href='#'>Skärm 2</a></h3><div>my accordion content</div></div>"
        },
        url: '/echo/html/',
        success: function(data) {
            $(".art-Post-inner").html(data);
            $('#accordion').accordion(accordionOpts);
        }
    });
});
var accordionOpts={
可折叠:“真”,
活动:“假”,
自动高度:“假”
};
$('手风琴')。手风琴(手风琴音乐);
$(“#替换内容”)。单击(函数(){
$.ajax({
键入:“POST”,
cache:false,
数据:{
html:“我的手风琴内容”
},
url:“/echo/html/”,
成功:功能(数据){
$(“.art-Post-inner”).html(数据);
$('手风琴')。手风琴(手风琴音乐);
}
});
});

小提琴:使用$(“.selector”)。手风琴(“刷新”)

谢谢!我看不出我怎么会错过这个事实上有效的方法。为什么每个人都在一行代码中创建困难的脚本?非常感谢你也解决了我的问题!更多信息:工作!谢谢