2015-08-26 111 views
1

如何在出發日期輸入欄中設置dd/mm/yy。但我正在考慮將這兩種格式都改爲像「Senin 05 Agustus 2015」這樣的印度尼西亞本地化版本。日期格式jQuery和本地化

可能嗎?提前致謝。

jsfiddle link

Arrive: 
<input type="text" id="arrivalDate" class="datepicker"> 
<br />Nights: 
<input type="text" id="numOfNights" value="1"> 
<br />Depart: 
<input type="text" id="departureDate"> 

jQuery腳本

$('#arrivalDate').datepicker({ 

    dateFormat: "dd/mm/yy", 
    onSelect: function (dateStr) { 
     var nights = parseInt($('#numOfNights').val()); 
     var depart = $.datepicker.parseDate('dd/mm/yy', dateStr); 
     depart.setDate(depart.getDate() + nights); 
     $('#departureDate').val(depart); 
    } 
}); 

$('#numOfNights').change(function() { 
    var nights = parseInt($('#numOfNights').val()); 
    var depart = $.datepicker.parseDate('dd/mm/yy', $('#arrivalDate').val()); 
    depart.setDate(depart.getDate() + nights); 
    $('#departureDate').val(depart); 
}); 
+0

你可以看看這個[答](http://stackoverflow.com/a/9519493/3863146),你也可以使用這個[moment.js](http://momentjs.com/)獲得本地化時間。 – sahil

+0

@Sahil那麼,那麼如何設置與arrivalDate相同的值? – Harriz

回答

0

您可以使用moment.js這樣的:可用here

moment.locale('id'); //'id'--> Bahasa Indonesia 
    $('#arrivalDate').datepicker({ 

     dateFormat: "d/MM/yy", 
     onSelect: function (dateStr) { 
      var nights = parseInt($('#numOfNights').val()); 
      var depart = $.datepicker.parseDate('d/MM/yy', dateStr); 
      depart.setDate(depart.getDate() + nights); 
      var depart_date = moment(depart).format('DD/MMMM/YYYY'); 
      console.log('date is '+depart_date); 
      $('#departureDate').val(depart_date); 
     } 
    }); 

    $('#numOfNights').change(function() { 
     var nights = parseInt($('#numOfNights').val()); 
     var depart = $.datepicker.parseDate('d/MM/yy', $('#arrivalDate').val()); 
     depart.setDate(depart.getDate() + nights); 
     var depart_date = moment(depart).format('DD/MMMM/YYYY'); 
     $('#departureDate').val(depart_date); 
    }); 

演示。

編輯

添加使用jQuery的datepicker的自己多​​一個選擇。只要把這個定位CDN後jQuery的ui.js

<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.1/i18n/jquery-ui-i18n.min.js"></script> 

,然後改變這樣的代碼:

//setting the default locale to Indonesian 
$.datepicker.setDefaults($.datepicker.regional["id"]); 
    $('#arrivalDate').datepicker({ 

      dateFormat: "d/MM/yy", 

      onSelect: function (dateStr) { 
       var nights = parseInt($('#numOfNights').val()); 
       var depart = $.datepicker.parseDate('d/MM/yy', dateStr); 
       depart.setDate(depart.getDate() + nights); 
       $('#departureDate').val($.datepicker.formatDate('d/MM/yy', depart)); 
      } 
     }); 

     $('#numOfNights').change(function() { 
      var nights = parseInt($('#numOfNights').val()); 
      var depart = $.datepicker.parseDate('d/MM/yy',  $('#arrivalDate').val()); 
      depart.setDate(depart.getDate() + nights); 
      $('#departureDate').val($.datepicker.formatDate('d/MM/yy', depart)); 
     }); 
    $(function() { 
      $("#departureDate").datepicker({dateFormat: "d/MM/yy"}); 
     }); 

的jsfiddle here

+0

太棒了,謝謝。但最後我加了$(function(){$(「#departureDate」).datepicker();});在#numOfNights腳本之後。問題是,departureDate不突出顯示輸入字段的當前日期。任何想法? – Harriz

+0

**#departureDate **不突出顯示哪個輸入字段的當前日期? – sahil

+0

http://jsfiddle.net/JKGvD/660/啓程欄不突出顯示,如果您在抵達時選擇日期字段,您將看到橙色,突出顯示您選擇的日期。但不在出發地 – Harriz