2012-01-20 64 views
2

我有內嵌的jQuery UI的DatePicker和需要自定義格式,並期待輸出日期,代碼:的jQuery UI的DatePicker輸出日期格式

<div id="date-start"></div> 
<div class="date start" id="date-start-output"></div> 

$(function(){ 
    // Datepicker 
    $('#date-start').datepicker({ 
     inline:true,    
     showOtherMonths: true, 
     altField: "#date-start-value", 
     altFormat: "dd M yy", 
     dateFormat: "dd M yy", 
     onSelect: function(){ 
      var day1 = $("#date-start").datepicker('getDate').getDate();     
      var month1 = $("#date-start").datepicker('getDate').getMonth() + 1;    
      var year1 = $("#date-start").datepicker('getDate').getFullYear();    
      var str_output = "<b>" + day1 + "</b><span>" + month1 + "<br />" + year1 + "</span>"; 
      $('#date-start-output').html(str_output); 
     } 

    }); 

}); 

它的工作原理,但在#日期開始輸出我有日期格式不是「dd M yy」而是「dd m yy」。如何設置月份所需的輸出格式? 另外我需要在#date-start-output當前日期後顯示頁面加載後,我正在嘗試「beforeShow」事件,但它不能與「onSelect」事件一起工作。

謝謝。

+0

爲什麼你要填充另一個領域,當你想格式是相同的? –

回答

5

onSelect事件處理程序第一個參數是選定日期作爲文本。 我想這將被格式化的初始化過程中指定

http://jqueryui.com/demos/datepicker/#event-onSelect

$(function(){ 
    // Datepicker 
    $('#date-start').datepicker({ 
     inline:true,    
     showOtherMonths: true, 
     altField: "#date-start-value", 
     altFormat: "dd M yy", 
     dateFormat: "dd M yy", 
     onSelect: function(dateText){ 
      $('#date-start-output').html(dateText); 
     } 
    }); 
}); 

如果需要特殊的格式,你可以嘗試:

$(function(){ 
    // Datepicker 
    $('#date-start').datepicker({ 
     ... 
     onSelect: function(){ 
      var dateText = $.datepicker.formatDate("<b>dd</b><span>M<br />yy</span>", $(this).datepicker("getDate")); 
      $('#date-start-output').html(dateText); 
     } 
    }); 
}); 

不知道它會與HTML標籤工作雖然

+0

謝謝@ Plastic_zo1,這是工作。仍然需要獲得當前日期並在頁面加載後顯示它,有什麼想法? – Kuzzy

+0

您可以使用setDate方法設置datepicker初始化後的日期:'$('#date-start')。datepicker(「setDate」,new Date());'' – nicopico