2013-08-20 175 views
0

我使用這個jQuery的日期選擇之後的作品更新面板,添加功能更新

我輸入UpdatePanel的

<input id="DateMask" type="text" /> 

和JS代碼:

function SetD() { 
    alert(1); 
} 

$(document).ready(function() { 
    SetD(); 
    $("#datepicker").datepicker({ 
     changeMonth: true, 
     changeYear: true 
    }); 
}); 

但問題是,當我發佈我的表單到服務器我只刷新更新面板,所以$(document).ready(function()刷新後不工作,所以我可以從哪裏執行我的功能?

+1

[Asp.Net的UpdatePanel中的GridView的Jquery的DatePicker](可能重複http://stackoverflow.com/questions/3341623/asp-net-updatepanel -in-gridview-jquery-datepicker) – Aristos

回答

2

您需要重新綁定Sys.WebForms.PageRequestManager.add_endRequest事件。 看到這個類似的帖子jQuery $(document).ready and UpdatePanels?

+0

謝謝你完美看到鏈接))))) – user2114177

+1

謝謝!這是我第一次接受這個答案,並且你接受了它:-)感謝你讓我開始! – guymid

1

爲了使它工作,你需要在更新UpdatePanel後重新初始化它。你可以通過使用UpdatePanel函數來做到這一點。我也喜歡這裏注意,你還需要在UpdatePanel更新之前解除綁定,以避免內存泄漏。

<script type="text/javascript"> 
    // if you use jQuery, you can load them when dom is read. 
    $(document).ready(function() { 
     var prm = Sys.WebForms.PageRequestManager.getInstance();  
     prm.add_initializeRequest(InitializeRequest); 
     prm.add_endRequest(EndRequest); 

     // Place here the first init of the DatePicker 
     InitDatePicker(); 
    });   

    function InitializeRequest(sender, args) { 
     // make unbind to avoid memory leaks. 
     $("#datepicker").unbind(); 
    } 

    function EndRequest(sender, args) { 
     // after update occur on UpdatePanel re-init the DatePicker 
     InitDatePicker(); 
    } 


    function InitDatePicker() 
    { 
     $("#datepicker").datepicker({ 
      changeMonth: true, 
      changeYear: true 
     });  
    } 
</script> 

幾乎同樣的問題,但是,GridView的:Asp.Net UpdatePanel in Gridview Jquery DatePicker

+1

謝謝你的工作)))))))) – user2114177