jquery accordion not re-initiating after an asp.Net postback

前端 未结 2 1725
礼貌的吻别
礼貌的吻别 2020-12-10 09:10

I\'m firing up a jquery accordion with:

$(document).ready(function(){
   $(\'#accordion\').accordion();
});

Problem is this is an .asp.NET

相关标签:
2条回答
  • 2020-12-10 09:31

    You need to re-initlaize the accordion after the post back with the UpdatePanel functions as:

    <script type="text/javascript"> 
    $(document).ready(function(){
        var prm = Sys.WebForms.PageRequestManager.getInstance();    
            prm.add_initializeRequest(InitializeRequest);
            prm.add_endRequest(EndRequest);
       // on page ready first init of your accordion
       $('#accordion').accordion();
    });
    
    
    function InitializeRequest(sender, args) {      
    }
    
    function EndRequest(sender, args) {
         // after the UpdatePanel finish the render from ajax call
         //  and the DOM is ready, re-initilize the accordion
         $('#accordion').accordion();
    }
    </script>
    

    Relative:
    Asp.Net UpdatePanel in Gridview Jquery DatePicker
    ASP.Net : Need to run javascript on update panel load completed
    How do you get client-side script to execute on an ASP.NET postback? (from an UpdatePanel)

    0 讨论(0)
  • 2020-12-10 09:51
    Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(InitAccordion);
    function InitAccordion(){       
       $('#accordion').accordion();}
    

    This will work for postback and asyncpostback Raised after all content on the page is refreshed as a result of either a synchronous or an asynchronous postback. http://msdn.microsoft.com/en-us/library/bb397523(v=vs.100).aspx

    0 讨论(0)
提交回复
热议问题