2014-03-05 27 views
0

首先,我使用asp.net,但對於這種情況並不重要,因爲我沒有使用asp元素,只有基本的html元素和jQuery。

我在函數loadDatepicker的default.aspx頁面中初始化了一個jQuery datepicker。該頁面有一個按鈕元素,它調用loadWorkSpace函數,它使用$ .load方法加載一個使用日期選擇器的表單頁面(稱爲form.aspx),並且該頁面被加載到default.aspx頁面的特定div元素中。

<script type="text/javascript" charset="utf-8"> 
    function loadDatepicker() { 
     $.getScript("/resources/js/jquery-ui-1.10.4.custom.js").done(
          function() { 
           $(".datepicker").datepicker({ 
            showOn: "button", 
            buttonImage: "/resources/img/calendar.png", 
            buttonImageOnly: true, 
            buttonText: "", 
           }).attr("readonly", "true"); 
           $(".datepicker").datepicker("setDate", "today"); 
           $(".datepicker").datepicker("option", "firstDay", 1) 
           $(".datepicker").datepicker("option", "dateFormat", "dd/mm/yy"); 
           $(".datepicker").datepicker("option", "monthNames", ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"]); 
           $(".datepicker").datepicker("option", "monthNamesShort", ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"]); 
           $(".datepicker").datepicker("option", "dayNames", ["Domingo", "Lunes", "Martes", "Miercoles", "Jueves", "Viernes", "Sabado"]); 
           $(".datepicker").datepicker("option", "dayNamesMin", ["Do", "Lu", "Ma", "Mi", "Ju", "Vi", "Sa"]); 
          } 
     ); 
    } 
</script> 

<script type="text/javascript" charset="utf-8"> 
    function loadWorkSpace(pagina) { 
     $("#workSpace").load(pagina, function() { loadDatepicker() }); 
     return false; 
    } 
</script> 

的問題是,當我按一下按鈕,它調用的函數loadWorkSpace,第一時間的日期選擇器,當我點擊該圖標觸發的作品!但第二次,我點擊按鈕日期選擇器顯示在輸入元素的默認值,我把選項「setDate」的datepicker其中正確的格式,但當我點擊圖標觸發器顯示datepicker,這樣做不工作...

有人能告訴我我的錯誤嗎? 謝謝。

回答

0

這是因爲當你重新加載你的HTML時,你的DOM元素是沒有分配事件的新元素。

您需要重新分配事件或使用類似onlive的東西。

當然,這可能意味着您需要對您正在使用的任何腳本進行一些修改,以便首先設置事件!

這就是爲什麼我喜歡編碼我自己的jQuery控件。

相關問題